Calculadora linguagem assembly
.MODEL SMALL
.STACK 100h
.DATA
CR EQU 0Dh
LF EQU 0Ah
MSG1 DB 'ENTRE COM UM NUMERO CUJA A SOMA ,A SUBTRAÇAO ,A DIVISAO E A MULIPLICACAO ESTA ENTRE 0 E 9:$'
MSG2 DB CR,LF,'A soma eh:'
SOMA DB ?,'$'
MSG3 DB CR,LF,'A subitracao eh:'
SUBI DB ?,'$'
MSG4 DB CR,LF,'A divisao eh:'
DIVI DB ?,'$'
MSG5 DB CR,LF,'A multipicacao eh:'
MULT DB ?,'$'
.CODE
;inicializando DOs e imprimindo msg
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9h
INT 21h
MOV AH,1 ;primeira variavel
INT 21h
SUB AL,30h ;transforma em tabela asc
;tirando primeira variavel de al
MOV SOMA,AL
MOV SUBI,AL
MOV DIVI,AL
MOV MULT,AL
MOV AH,1h ;segunda variavel
INT 21h
SUB AL,30h ;transforma em tabela asc
MOV BL,AL
ADD SOMA,BL ;somando primeira variavel com a segunda variavel
ADD SOMA,30h
MOV AH,2h
MOV DL,SOMA
LEA DX,MSG2
MOV AH,9h
INT 21h
SUB SUBI,BL ;subtraindo primeira variavel pela segunda variavel
ADD SUBI,30h
MOV AH,2h
MOV DL,SUBI
LEA DX,MSG3
MOV AH,9h
INT 21h
MOV AL,DIVI ;dividindo primeira variavel pela segunda variavel
MOV AH,0
DIV BL
ADD AL,30h
MOV DIVI,AL
MOV AH,2h
MOV DL,DIVI
LEA DX,MSG4
MOV AH,9h
INT 21h MOV AL,BL ;multiplicando primeira variavel com a segunda variavel
MUL MULT
ADD AL,30h
MOV MULT,AL
MOV AH,2h
MOV DL,MULT
LEA DX,MSG5
MOV AH,9h
INT 21h
;retorna ao dos
MOV AH,4Ch
INT 21h