我的程序遇到了一些小问题,我的程序应该使用重复加法将两个 1 字节整数相乘。
BITS 16 ;Set code generation to 16 bit mode
ORG 0x0100 ;Set code start address to 0100h
SEGMENT .text ;Main code segment
Main:
mov CX,[num2]
mov AX,00
Sum:
add AX,[num1]
dec CX
cmp CX,0
je Terminate
jmp Sum
Terminate:
mov DL,AL
mov AX,4C00H
int 21H
SEGMENT .data ;Initialised data segment
num1 db 4
num2 db 3
问题是当我调试我的代码时,初始值(num2)输入到CX很好,但是当num1输入到AX时,仍然有一些来自num2的剩余数据。
例如。调试
正如您从图像中看到的那样,放入 CX (3) 的值可以正常工作,但不是将 4 放入 AX,而是放入 304。
提前感谢您的帮助。