addl %ecx, (%eax)
%ecx = 0x1
%eax = 0x100
(%eax) = 0xFF
0x1 + 0xFF = 0x100
第二个操作数的寄存器存储的地址就是其的 (目的地)
目的:0x100
值:0x100
subl %edx,4(%eax)
%edx = 0x3
%eax = 0x100
4(%eax) = 0x100 + 0x4 = 0x104
M[0x104] = 0xAB
结果计算
0xAB - 0x3 = 0xA8
目的:0x104
值:0xA8
imull $16,(%eax,%edx,4)
%eax = 0x100
%edx = 0x3
(%eax, %edx, 4) = 0x100 + 0x3 * 4 = 0x10C
M[0x10C] = 0x11
16D = 0x10H
结果计算
0x11 * 0x10 = 0x110
目的:0x10C
值:0x110
incl 8(%eax)
%eax = 0x100
8(%eax) = 0x100 + 8 = 0x108
M[0x108] = 0x13
目的:0x100
值:0x14
decl %ecx
%ecx = 0x1
目的:%ecx
值:0x0
subl %edx,%eax
%edx = 0x3
%eax = 0x100
0x100 - 0x3 = 0xFD
目的 %eax
值: 0xFD
movl 12(%ebp), %ecx
movl 8(%ebp), %eax
sall $2,(%eax)
sarl (%ecx),(%eax)