¿Cómo escribir un programa de suma usando lenguaje ensamblador?
El formato de entrada debe ser A o - o/o * B =
Presione Enter para calcular el número al final del año (0255)
> Segmento DATAS
El DB 20 dup(?)
DB 'CHU POLLE', '$'
DATAS TERMINA
CÓDIGOS DIVISIÓN
ASUME lt;CS: CODES, DS:DATAS INICIO de la siguiente manera:
MOV AX, DATAS
MOV DS, AX
. JMPA
KAISHI:
; Retorno de carro y avance de línea
MOV DL, 0DH MOV AH, 02H INT 21H
MOV DL, 0AH
INT 21H
LEA SI,X
SUB AX,AX
SUB BX,BX
SUB CX, CX
SUB DX, DX
; Ingrese el número
- Respuesta: MOV AH, 01H
INT 21H
CMP AL, 0DH
gt;JZ
CMP AL,30H
JBB
CMP AL,3AH
JNB F
SUB AL, 30H
MOV CH, AL
gt; > MOV BL,0AH
MUL BL
AGREGAR AL,CH
MOV BL,AL
.
JMP
Sentencia - */=
B: CMP AL, 2BH
JNZ MOV X [SI], BL
INC SI
MOV CL, 0H
Y BL, 0
JMPA
K: CMP AL,2DH
p>
JNZe
MOV X [SI], BL
SI de INC
MOV CL, 01H
titlegt; y BL, 0 JMPA
D: CMP AL, 2AH
JNZê
MOV X [SI], BL
INC SI
MOV CL, 02H
AND BL, 0
JMPA
E: CMP AL, 2FH
JNZ
MOV /p>
JMPá
; Calcular
F: MOV [SI], BL
CMP AL, 3DH BR /gt; JNZ
LEA SI,X
MOV AL,X[SI]
INC SI
MOV BL,X [SI] ]
CMP CL, 0 BR /gt; JNZ
AÑADIR AL, BL
JMP
G: CMP CL , 01H
JNZ SUB AL, BL
JMP J BR /gt H: CMP CL, 02H
JNZ I
AND; AH , 0
MUL BL
JMP
I: Y AH, 0
CMP CL, 03H
DIV BL
; SALIDA
J: Y AH, 0
CMP AL, 100
JB ER
MOV BL, 100
gt; DIV BL
MOV CL, AH
AÑADIR AL, 30H
MOV DL, AL
MOV AH, 02H
INT 21H
MOV AL, CL BR /gt:●CMP AL, 10 piezas
JB Yi
MOV BL, 10
Y AH, 0
DIV BL
AÑADIR AL, 30H
MOV DL, AL
MOV CL, AH
MOV AH, 02H
INT 21H
MOV AL, CL p>
YI': AÑADIR AL, 30H
MOV DL, AL
MOV AH, 02H
INT 21H
p>
JMP KAISHI
T: DX de LEA, Y.
MOV AH, 09H
INT 21H
JMP KAISHI
L: MOV AH, 4CH
INT 21H
CÓDIGOS FINALIZA “FIN INICIO”