home *** CD-ROM | disk | FTP | other *** search
- DOSSEG ; Reihenfolge der Segmente festlegen
- .MODEL SMALL ; Speichermodell mit NEAR-Code-Segment
- ; und NEAR-Datensegment
- .STACK 200h ; Stack mit 512 Bytes
- .DATA ; Anfang des Datensegments
- StringAusgabe DB 13,10 ; CR/LF für Zeilenvorschub
- DreiZeichen DB 3 DUP (?) ; Speicherplatz für 3 Zeichen
- DB '$' ; Stringende in MS-DOS
- .CODE ; Anfang des Code-Segments
- Anfang:
- mov ax,@Data
- mov ds,ax ; DS zeigt auf Datensegment
- mov bx,OFFSET Dreizeichen
- ; Zeiger auf erstes Zeichen
- mov ah,1 ; MS-DOS: Eingabefunktion
- int 21h ; Zeichen von Tastatur lesen
- dec al ; 1 vom Zeichen abziehen
- mov [bx],al ; geändertes Zeichen speichern
- inc bx ; Zeiger auf zweites Zeichen
- int 21h ; nächstes Zeichen lesen
- dec al ; 1 vom Zeichen abziehen
- mov [bx],al ; geändertes Zeichen speichern
- inc bx ; Zeiger auf drittes Zeichen
- int 21h ; nächstes Zeichen lesen
- dec al ; 1 vom Zeichen abziehen
- mov [bx],al ; geändertes Zeichen speichern
- mov dx,OFFSET StringAusgabe ; Zeiger auf String
- ; mit geänderten Zeichen
- mov ah,9 ; MS-DOS: Stringausgabe
- int 21h ; String ausgeben
- mov ah,4Ch ; MS-DOS: Programmende
- int 21h ; Programm beenden
- END Anfang ; Ende des Quelltexts
- ; Programm startet am Label Anfang
-