; Sei eine Oktett-Folge gegeben. ; Finden Sie den letzten '0' Charakter (wir nehmen an, dass die Folge nicht ; mehr als 9 Elemente hat => So sollen wir nur eine Ziffer als ergebnis ausgeben) assume ds:data,cs:code data segment s db 'abc0def' ; die gegebene Folge laenge equ $-s ; Länge der Folge ergebnis db "Position der 0 Charakter (0, wenn nicht gefunden): $" data ends code segment start: mov ax,data mov ds,ax mov es,ax mov di,offset s add di,laenge dec di ; di zeigt jetzt am lätzten Charakter der Folge std ; Richtung der Durchlauf von größeren zu kleineren Adresse mov cx,laenge mov al, '0' ; wir suchen den Charakter '0' repne scasb jnz nicht_gefunden ; diese Befehle werden durchgeführt wenn wir den gewünschten ; Wert gefunden haben inc di ; wir kehren mit di zurück zur Adresse des gefundenen '0' Charakters sub di,offset s ; in di ist jetzt die Position des gefundenen Charakters inc di jmp ausgeben nicht_gefunden: xor di,di ; di wird auf 0 gesetzt ausgeben: mov ah, 02h ; wir zeigen das ergebnis am Bildschirm an (wir nehmen hier an, dass wir ; nur ein Ziffer zum ausgeben haben) mov dx, di add dl,'0' int 21h mov ax,4C00h int 21h code ends end start ; Anmerkung: die Folge und der gesuchte Charakter könnten eingelesen werden