Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question

What does this code do?

 


.model small 
.386 
.stack 100h 

.data 
msg1 db 13, 10, "Enter any number --> ", "$"
msg2 db  "Enter an operation +,- * or /  --> ",13, 10, "$"
msg3 db  "The Operation is --> ", "$"
msg4 db  "The result is --> ", "$"
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
    
    call operation
    mov dx,offset msg1
    call display_message

    call m_keyin
    cmp op_type, "+"
    jnz short skip_plus
    call op_plus
    skiP_plus:
    cmp op_type, "-"
    jnz short skip_minus
    call op_minus
skip_minus:
    
    cmp op_type, "*"
    jnz short skip_mul
    call op_mult
skip_mul:
cmp op_type, "/"
    jnz short skip_div
    
    call op_div
skip_div:    
    call m_display

mov ax, 4c00h 
int 21h 

operation proc
    mov dx,offset msg2
rpt4:
    call display_message
    mov dx,offset msg3
    call display_message
    mov ah, 1
    int 21h
    cmp al, 30h
    jns rpt4
    mov op_type, al
    
    
ret
operation endp

m_display proc
    mov dx,offset msg4
    call display_message
    mov eax, disp_number
    mov sp_counter, 0    

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
    ret
m_display endp

op_minus proc
    mov eax, disp_number2
    sub eax, disp_number3
    mov disp_number, eax
    ret
op_minus endp    
op_div proc

mov eax, disp_number2
div disp_number3
mov disp_number, eax
mov remainder, dl

call display
call m_display
mov dl, -16
call display

mov dl, remainder
call display
mov dl, -1
call display
mov edx, disp_number3

call display


mov ax, 4c00h 
int 21h 
op_div endp

op_mult proc
    mov eax, disp_number2
    mul disp_number3
    mov disp_number, eax

ret
op_mult endp
op_plus proc
    mov eax, disp_number2
    add eax, disp_number3
    mov disp_number, eax
    ret
op_plus endp
display proc
    add dl, 30h
    cmp dl, 39h
    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 
    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
    ret
m_keyin endp


main endp
end main

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education