Emu8086汇编加法器
Emu8086 assembly adder
我正在尝试编写一个汇编程序来添加小于 A0H 的数字(初始化为 nums)。但是,当我 运行 这个程序时,它无法添加任何数字。任何帮助将不胜感激。
PAGE 60,132
TITLE COOLADDER
.MODEL SMALL
.STACK 64
.DATA
NUMS DB 01H,01H,01H,01H,0A1H,0A1H
SUM DB ?
CC DB ?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,6
MOV BX,OFFSET NUMS
MOV AL,0
AGAIN:
MOV DI,0A0H
CMP DI,[BX]
JNA RES
ADD AL,[BX]
MOV CC,AL
RES:
INC BX
DEC CX
JNZ AGAIN
MOV SUM,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
数据定义为 字节,但您正在比较的是 字!
改变这个:
MOV DL,0A0H
CMP DL,[BX]
我正在尝试编写一个汇编程序来添加小于 A0H 的数字(初始化为 nums)。但是,当我 运行 这个程序时,它无法添加任何数字。任何帮助将不胜感激。
PAGE 60,132
TITLE COOLADDER
.MODEL SMALL
.STACK 64
.DATA
NUMS DB 01H,01H,01H,01H,0A1H,0A1H
SUM DB ?
CC DB ?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,6
MOV BX,OFFSET NUMS
MOV AL,0
AGAIN:
MOV DI,0A0H
CMP DI,[BX]
JNA RES
ADD AL,[BX]
MOV CC,AL
RES:
INC BX
DEC CX
JNZ AGAIN
MOV SUM,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
数据定义为 字节,但您正在比较的是 字!
改变这个:
MOV DL,0A0H
CMP DL,[BX]