Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- assume cs: code, ds: data
- data segment
- string1 db 10, 9 dup (0)
- string2 db 10,9 dup (0)
- r db 0, '$'
- res db 10, 9 dup (0)
- ln db 0dh,0ah, '$'
- data ends
- code segment
- print proc
- push bp
- mov bp, sp
- mov di, [bp+8]
- mov cx, 4
- ;mov cl, ch
- add di, 2
- lp2:
- mov al, [di]
- add al, 30h
- add di, 1
- mov r[0], al
- mov dx, offset r
- mov ah, 09h
- int 21h
- loop lp2
- pop bp
- ret
- print endp
- proc1 proc
- push bp
- mov bp, sp
- mov si, [bp+4]
- mov di, [bp+6]
- mov al, [si+1]
- mov ah, 0
- mov bx, 2
- mov dh, 10
- mov cx, ax
- mov ah, [di+1]
- cmp ah, al
- jle ed
- mov dl, 0
- mov ax, [si+1]
- add ax, 1
- add si, ax
- mov ax, [di+1]
- add ax, 1
- add di, ax
- ed:
- mov al, ah
- mov ah, 0
- mov cx, ax
- mov dl, 0
- mov ax, [si+1]
- add ax, 1
- mov ah, 0
- add si, ax
- mov ax, [di+1]
- add ax, 1
- mov ah, 0
- add di, ax
- lp:
- mov al, [si]
- mov ah, [di]
- sub al, 30h
- sub ah, 30h
- add al, dl
- add al, ah
- mov ah, 0
- div dh
- mov dl, al
- push di
- mov di, [bp+8]
- add di, bx
- add bx, 1
- mov [di], ah
- mov al, ah
- mov ah, 0
- push ax
- ;call print
- pop ax
- pop di
- sub di, 1
- sub si, 1
- loop lp
- push di
- push si
- mov si, [bp+4]
- mov di, [bp+6]
- mov al, [si+1]
- mov ah, [di+1]
- cmp ah, al
- jle ek
- sub ah, al
- mov al, ah
- mov ah, 0
- mov cx, ax
- pop di
- pop si
- mov di, [bp+8]
- add di, dx
- sub di, 1
- mov bx, [di]
- add di, 1
- ek:
- sub al, ah
- mov ah, 0
- mov cx, ax
- pop si
- pop di
- mov di, [bp+8]
- add di, bx
- sub di, 1
- mov bx, [di]
- add di, 1
- lp1:
- mov al, [si]
- sub al, 30h
- add al, dl
- div dh
- mov dl, al
- mov [di], ah
- sub si, 1
- add di, 1
- loop lp1
- pop bp
- ret
- proc1 endp
- start:
- mov ax, data
- mov ds, ax
- mov dx, offset string1
- mov si, dx
- mov ax, 0
- mov ah, 0Ah
- int 21h
- mov dx, offset ln
- mov ah, 09h
- int 21h
- mov dx, offset string2
- mov si, dx
- mov ah, 0Ah
- int 21h
- mov dx, offset ln
- mov ah, 09h
- int 21h
- mov ah,0
- push offset res
- push offset string2
- push offset string1
- call proc1
- call print
- ;mov dx, offset res
- ;mov ah, 09h
- ;int 21h
- mov ah, 4ch
- int 21h
- code ends
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement