【发布时间】:2013-03-14 22:43:55
【问题描述】:
我的程序有点小问题,我的程序应该使用重复加法将两个 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的剩余数据。
例如Debug
从图片中可以看出,放入 CX (3) 的值工作正常,但不是将 4 放入 AX,而是放入 304。
提前感谢您的帮助。
【问题讨论】:
-
您使用的是哪个汇编程序? MASM?