home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / tasm / chapxmpl.arc / PRNTSTR.ASM < prev    next >
Encoding:
Assembly Source File  |  1988-10-09  |  1.2 KB  |  42 lines

  1.         DOSSEG
  2.         .MODEL    SMALL
  3.         .STACK    200h
  4.         .DATA
  5. GrussAnWelt        DB    'Hallo, Welt!',0Dh,0Ah,0
  6. GrussAnSonnen        DB    'Hallo, Sonnensystem!',0Dh,0Ah,0
  7. GrussAnUniversum        DB    'Hallo, Universum!',0Dh,0Ah,0
  8.         .CODE
  9. HauptProgramm    PROC    NEAR
  10.         mov    ax,@DATA
  11.         mov    ds,ax
  12.         mov    bx,OFFSET GrussAnWelt
  13.         call    StringAusgabe    ; 'Hallo, Welt' ausgeben
  14.         mov    bx,OFFSET GrussAnSonnen
  15.         call    StringAusgabe    ; 'Hallo, Sonnensystem' ausgeben
  16.         mov    bx,OFFSET GrussAnUniversum
  17.         call    StringAusgabe    ; 'Hallo, Universum' ausgeben
  18.         mov    ah,4Ch        ; DOS-Funktion für Programmende
  19.         int    21h            ; ...und fertig
  20. Hauptprogramm    ENDP
  21. ;
  22. ;    Unterprogramm für die Ausgabe eines mit NUL abgeschlossenen Strings.
  23. ;
  24. ;    Eingabe:
  25. ;        DS:BX    - Zeiger auf String, der ausgegeben werden soll.
  26. ;
  27. ;    Veränderte Register: AX, BX
  28. ;
  29. StringAusgabe    PROC    NEAR
  30. AusgabeSchleife:
  31.         mov    dl,[bx]        ; nächstes Ziechen im String holen
  32.         and    dl,dl        ; Hat das Zeichen den Wert NUL
  33.         jz    EndeDerAusgabe    ; Stringende erreicht!
  34.         inc    bx            ; Zeiger für nächstes Zeichen erhöhen
  35.         mov    ah,2            ; DOS-Ausgabe-Funtkion
  36.         int    21h            ; DOS-Aufruf für Zeichenausgabe
  37.         jmp    AusgabeSchleife    ; nächstes Zeichen ausdrucken
  38. EndeDerAusgabe:
  39.         ret        ; Rückkehr zum aufrufenden Programm
  40. StringAusgabe    ENDP
  41.         END    HauptProgramm
  42.