我正在通过paul caurter从PC Assembly学习80386
  mul source
- 如果操作数是字节大小,则将其乘以AL寄存器中的字节,结果存储在AX的16位中.
精细.
- 如果源是16位,则将其乘以AX中的字,32位结果存储在DX:AX中.
Q1:为什么选择DX:AX?为什么它不能存储在EAX/EDX中?
imul 真是令人困惑
imul dest, source1
imul dest, source1, source2
alt text http://img697.imageshack.us/img697/8976/imul.gif
我在理解表格方面遇到了问题.
Q2:在表的第2个条目中.再次,为什么DX:AX.为什么不EAX或EDX?
现在考虑以下代码片段:
imul eax ; edx:eax = eax * eax
mov ebx, eax ; save answer in ebx
mov eax, square_msg ; square_msg db "Square of input is ", 0
call print_string ; prints the string eax
mov eax, ebx 
call print_int ;  prints the int stored in eax
call …