Question: program 2 - . model small . 3 8 6 . stack 1 0 0 h . data msg 1 db 1 3 , 1

program 2-
.model small
.386
.stack 100h
.data msg1 db 13,10, "Enter any key -->","$"
by_10 dd 10
sp_counter db 0
disp_number dd 0
disp_number2 dd 0
disp_number3 dd 0
op_type db 0
last_key dd 0
remainder db 0
.code
main proc
mov ax,@data
mov ds,ax
mov dx,offset msg1
call display_message
call m_keyin
mov EAX, DISP_NUMBER
zzz:
dec DISP_NUMBER
mul DISP_NUMBER
cmp DISP_NUMBER, 1
jnz zzz
mov DISP_NUMBER, eax
call m_display
mov ax,4c00h
int 21h
m_display proc
mov eax, disp_number
mov sp_counter, 0
Base_lp:
LP1:
mov edx, 0
div By_10
push dx
inc sp_counter
cmp eax, 0
jnz lp1
LP2:
pop dx
call display
dec sp_counter
jnz lp2
mov edx, -8
call display
mov edx, by_10
call display
mov edx, -7
call display
dec By_10
mov eax, disp_number
cmp By_10,1
jnz Base_lp
ret
m_display endp
iii:
mov ax,4c00h
int 21h
op_mult proc
mov eax, disp_number2
mul disp_number3
mov disp_number, eax
ret
op_mult endp
display proc
add dl,30h
cmp dl,3ah
js short skip_hex
add dl,7
Skip_hex:
mov ah,6
int 21h
ret
display endp
display_message proc
mov ah,9
int 21h
mov edx, 0
ret
display_message endp
m_keyin proc
MOV disp_number, 0
mov last_key, 0
LP_key:
mov eax, disp_number
mul by_10
add eax, last_key
mov DISP_NUMBER, eax
mov ah,1
int 21h
AND eax, 000000ffh
cmp al,13
jz short finkey
cmp al,30h
js iii
cmp al,3Ah
jns iii
sub al,30h
MOV LAST_KEY, EAX
jmp lp_key
finkey:
MOV eax, DISP_NUMBER
cmp DISP_NUMBER2,0
jnz short skip
MOV DISP_NUMBER2, EAX
skip:
MOV DISP_NUMBER3, EAX
cmp DISP_NUMBER, 13
jns iii
cmp DISP_NUMBER, 1
jz iii
ret
m_keyin endp
main endp
end main
 program 2- .model small .386 .stack 100h .data msg1 db 13,10,

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!