Vamos a aprender a restar y a sumar en el lenguaje ensamblador, aquí el código de la resta:
.MODEL SMALL
.STACK 64
.DATA
N1 DB 0
N2 DB 0
RESTA DB 0
MSG1 DB "DAME EL PRIMER VALOR ","$"
MSG2 DB 10,13, "DAME EL SEGUNDO VALOR ","$"
MSG3 DB 10,13, "RESTA = ",'$'
.CODE
BEGIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV AH,09
LEA DX,MSG1
INT 21H
MOV AH,01
INT 21H
SUB AL,30H
MOV N1,AL
MOV AH,09
LEA DX,MSG2
INT 21H
MOV AH,01
INT 21H
SUB AL,30H
MOV N2,AL
MOV AL,N1
SUB AL,N2
ADD AL,30H
MOV RESTA,AL
MOV AH,09
LEA DX,MSG3
INT 21H
MOV AH,02
MOV DL,RESTA
INT 21H
MOV AH,4CH
INT 21H
BEGIN ENDP
END
Y ahora el programa que hace la suma y su código:
.MODEL SMALL
.STACK 64
.DATA
N1 DB 0
N2 DB 0
RESTA DB 0
MSG1 DB "DAME EL PRIMER VALOR ","$"
MSG2 DB 10,13, "DAME EL SEGUNDO VALOR ","$"
MSG3 DB 10,13, "SUMA= ",'$'
.CODE
BEGIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV AH,09
LEA DX,MSG1
INT 21H
MOV AH,01
INT 21H
SUB AL,30H
MOV N1,AL
MOV AH,09
LEA DX,MSG2
INT 21H
MOV AH,01
INT 21H
SUB AL,30H
MOV N2,AL
MOV AL,N1
ADD AL,N2
ADD AL,30H
MOV RESTA,AL
MOV AH,09
LEA DX,MSG3
INT 21H
MOV AH,02
MOV DL,RESTA
INT 21H
MOV AH,4CH
INT 21H
BEGIN ENDP
END
Este comentario ha sido eliminado por el autor.
ResponderEliminar