Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Se da un sir de octeti.
- ;Sa se copieze din acest sir intr-un altul toate elementele
- ;pana la intalnirea primului caracter '0' (sau toate), dupa care,
- ;in locurile ramase libere pana la lungimea initiala,
- ;sa se completeze cu 'Z'.
- assume ds:data,cs:code
- data segment
- s1 db 'abc0def' ;sirul initial
- d equ $-s1 ;dim. sir initial
- s2 db d dup(?) ;sir rezultat
- data ends
- code segment
- start:
- mov ax,data
- mov ds,ax
- mov es,ax
- mov si,offset s1
- mov di,offset s2
- cld ;parcurgere de la adr. mai mica la adr. mai mare
- mov cx,d
- again:
- lodsb
- cmp al,'0'
- je dupa
- stosb ;daca nu e '0', se incarca in s2
- loop again
- dupa:
- mov cx,offset s1
- add cx,d
- sub cx,si
- add cx,1 ;...pt. restul pozitiilor
- ;puteti sa gasiti o varianta mai rapida
- mov al,'Z'
- jcxz sf
- rep stosb
- sf:
- mov ax,4C00h
- int 21h
- code ends
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement