【发布时间】:2021-01-31 03:13:42
【问题描述】:
我正在解决一个汇编语言编程的基本问题,以添加 BCD 数字和两个 ASCII 数字, 为此我知道我必须分别使用 DAA 和 AAA 指令,现在我试图将存储在 AX 寄存器中的结果存储到我想要的内存位置,但不明白为什么下面的代码给出我的错误立即模式非法 以下是我到目前为止编写的代码,请帮助我如何消除此错误 PS:我只想将我的结果移动到我需要的内存位置,而不是任何特殊用途的寄存器
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
DATA ENDS
CODE SEGMENT
START:
MOV AX,0000H
MOV DS,AX
MOV AL,59
MOV BL,35
ADD AL,BL
DAA
MOV CX,0000
MOV ES,CX
MOV [0000],AX
MOV AL,04
MOV BL,05
ADD AL,BL
AAA
MOV CX,0000
MOV ES,CX
MOV [0010],AX
MOV AH,04CH
INT 21H
CODE ENDS
END START
【问题讨论】:
-
感谢您的回复,实际上我想将结果移动到任何随机位置,因此我想将其存储在 0000:0000 和 0000:0010 @MichaelPetch
-
谢谢,请发表您的回答
-
现在我向您学习了,非常感谢您,先生
标签: assembly dos x86-16 masm addressing-mode