subject… assembly language,,
If you know Assembly language,,,x86,,,,,,,,asm ,,, then answer please,,,,
I have a question and i have the answer,,, but ineed tto evaluate my answer,,,,
question is:
Implement a simple 4 functios calculator for 3 digits entry.
The user will enter 2 digits for the first and the second numbers.
The user will chose between the operation type +,-,* or /
The result will be displayed.
Work with 32 bits variables and regist
use x86. asm
answer is:
con msg
mov ah, 09h
lea dx, msg
int 21h
endm
data segment
buf1 db “Enter a decimal number : $”
buf2 db 0ah, “Invalid Decimal Number…$”
buf3 db 0ah, “Equivalent hexadecimal number is : $”
buf4 db 6
db 0
db 6 dup(0)
multiplier db 0ah
data ends
code segment
assume cs:code, ds:data
start :
mov ax, @data
mov ds, ax
mov es, ax
con buf1
mov ah, 0ah
lea dx, buf4
int 21h
mov si, offset buf4 + 2
mov cl, byte ptr [si-1]
mov ch, 00h
subtract :
mov al, byte ptr [si]
cmp al, 30h
jnb cont1
con buf2
jmp stop
cont1 :
cmp al, 3ah
jb cont2
con buf2
jmp stop
cont2 :
sub al, 30h
mov byte ptr [si], al
inc si
loop subtract
mov si, offset buf4 + 2
mov cl, byte ptr [si-1]
mov ch, 00h
mov ax, 0000h
calc :
mul multiplier
mov bl, byte ptr [si]
mov bh, 00h
add ax, bx
inc si
loop calc
mov si, offset buf4 + 2
mov bx, ax
mov dx, 0000h
mov ax, 1000h
convert :
mov cx, 0000h
conv :
cmp bx, ax
jb cont3
sub bx, ax
inc cx
jmp conv
cont3 :
cmp cx, 0ah
jb cont4
add cl, 37h
jmp cont5
cont4 :
add cl, 30h
cont5 :
mov byte ptr [si], cl
inc si
mov cx, 0010h
div cx
cmp ax, 0000h
jnz convert
mov byte ptr [si], ‘$’
con buf3
con buf4+2
stop :
mov ax, 4c00h
int 21h
code ends
end start
**********************
new question is: Can someone please implement a calculator…… so the user can enter as many digits as they want for each number*******
take your time,,, no rush,,
i promise to give you thumbs up….
Please send me a copyable answer,,, with out put,,,, use ,,,,,,,,,,,,,,,,,,,, X86 asm
Expert Answer
; Messages
mesg1 db n,'-Calculator-',n,0 lmesg1 equ $ - mesg1
mesg2 db n,'Number 1: ',0 lmesg2 equ $ - mesg2
mesg3 db 'Number 2: ',0 lmesg3 equ $ - mesg3
mesg4 db n,'1. Add',n,0 lmesg4 equ $ - mesg4 mesg5 db '2. Subtract',n,0 lmesg5 equ $ - mesg5 mesg6 db '3. Multiply',n,0 lmesg6 equ $ - mesg6 mesg7 db '4. Divide',n,0 lmesg7 equ $ - mesg7
mesg8 db 'Operation: ',0 lmesg8 equ $ - mesg8 mesg9 db n,'Result: ',0 lmesg9 equ $ - mesg9 mesg10 db n,'Invalid Option',n,0 lmesg10 equ $ - mesg10
section .bss