我已经阅读了一些教程和示例,但我无法理解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