Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .486
- .stack 256
- .data
- priglo db 'Input n$'
- priglt db 'Input k$'
- ans db 'Your number$'
- pyat dw 5
- ten dw 10
- .code
- stir proc
- push bp
- mov bp, sp
- add bp, 4
- xor dx, dx
- mov ax, [bp]
- mov bx, [bp+2]
- cmp bx, 0
- je zero
- cmp ax, bx
- je one
- jb zero
- dec ax
- push bx
- push ax
- call stir
- pop bx
- pop cx
- mul bx
- push ax
- dec cx
- push cx
- push bx
- call stir
- pop bx
- pop bx
- pop bx
- sub ax, bx
- jmp con
- one:mov ax, 1
- jmp con
- zero:xor ax, ax
- con:pop bp
- ret
- stir endp
- vvod PROC
- sub bx, bx
- mov ah, 01h
- LP:int 21h
- sub al, 30h
- JL KON
- cmp al, 9
- JG KON
- xchg ax, bx
- mul ten
- xchg ax, bx
- add bl, al
- adc bh, 0
- jmp LP
- KON: ret
- vvod ENDP
- vyvod proc
- sub cx, cx
- bt ax, 7
- jnc pol
- push ax
- mov ah, 02h
- mov dl, '-'
- int 21h
- pop ax
- neg ax
- pol:
- delt:sub dx, dx
- div ten
- inc cx
- add dl, 30h
- push dx
- cmp ax, 0
- jne delt
- vv:pop dx
- mov ah, 02h
- int 21h
- loop vv
- ret
- vyvod endp
- start:
- push @data
- pop ds
- mov dx, offset priglo
- mov ah, 09h
- int 21h
- mov ah, 02h
- mov dl, 0dh
- int 21h
- mov dl, 0ah
- int 21h
- call vvod
- mov cx, bx
- mov dx, offset priglt
- mov ah, 09h
- int 21h
- mov ah, 02h
- mov dl, 0dh
- int 21h
- mov dl, 0ah
- int 21h
- call vvod
- push bx
- push cx
- call stir
- push ax
- mov dx, offset ans
- mov ah, 09h
- int 21h
- mov ah, 02h
- mov dl, 0dh
- int 21h
- mov dl, 0ah
- int 21h
- pop ax
- call vyvod
- mov ah, 01h
- int 21h
- mov ax, 4c00h
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement