Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model tiny
- org 100h
- ;;;;TODO FUNCTION FOR OUTPUT STRING
- .data
- input_msg db "Please input a digit (-2^16 - 2^16-1)!", 0Dh,0Ah, 24h
- digit_buff db 5, ?, 6 dup(24h)
- array_len equ 1
- digits_array dw array_len dup(0)
- .code
- start:
- mov cx, array_len
- xor di, di
- array_input:
- lea dx, input_msg
- mov ah, 09h
- int 21h
- lea dx, digit_buff
- mov ah, 0Ah
- int 21h
- mul digits_array[di], 10
- jo overflow_error
- add dx, 2
- mov si, dx
- mov ax, [si]
- cmp ax, '0'
- ja error_input
- cmp ax, '9'
- jb error_input
- sub ax, '0'
- mov digits_array[di], ax
- jo overflow_error
- inc di
- jmp end_array_input
- error_input:
- lea dx, error_msg
- mov ah, 09h
- int 21h
- jmp array_input
- error_overflow:
- lea dx, overflow_msg
- mov ah, 09h
- int 21h
- jmp array_input
- end_array_input:
- loop array_input
- exit:
- ret ; return to operating system.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement