【发布时间】:2010-12-25 04:09:15
【问题描述】:
我已经阅读了一些教程和示例,但我无法理解MUL 指令的工作原理。我使用ADD 和SUB 没有问题。显然,这条指令将其操作数乘以寄存器中的值。
第一个操作数乘以哪个寄存器(eax、ebp、esp 等)?结果存储在哪个寄存器中,所以我可以将它移到堆栈中?抱歉,我只是在学习 x86 汇编。
当我尝试编译这一行时...
mul 9
我明白了,Error: suffix or operands invalid for 'mul'。谁能帮帮我?
global main
main:
push ebp
movl ebp, esp
sub esp, byte +8
mov eax, 7
mul 9
mov [esp], eax
call _putchar
xor eax, eax
leave
ret
【问题讨论】:
标签: assembly x86 immediate-operand