Assembly 在ASM中调用常量时为零
我在ASM中有代码:Assembly 在ASM中调用常量时为零,assembly,x86,Assembly,X86,我在ASM中有代码: mov al, VGA_WIDTH * 2 mov dl, byte [Y] mul dl VGA_WIDTH是常数,等于60,Y是字节,等于3,当我将它们相乘时,我得到零(好的),我可以假设,当我将eax(答案)添加到偏移量时,它根本不会改变偏移量 我有类似的代码,可以很好地工作。我只是不明白为什么不能。以下是一些需要考虑的要点: DS段寄存器是否设置为寻址Y变量 指令mul-dl在AX寄存器中给出一个结果,但您谈论的是“eax(答案)”。误解结果 学习使用调试器。另
mov al, VGA_WIDTH * 2
mov dl, byte [Y]
mul dl
VGA_WIDTH是常数,等于60,Y是字节,等于3,当我将它们相乘时,我得到零(好的),我可以假设,当我将eax(答案)添加到偏移量时,它根本不会改变偏移量
我有类似的代码,可以很好地工作。我只是不明白为什么不能。以下是一些需要考虑的要点:
段寄存器是否设置为寻址Y变量DS
- 指令
在mul-dl
寄存器中给出一个结果,但您谈论的是“eax(答案)”。误解结果AX