【发布时间】:2014-03-24 05:38:08
【问题描述】:
不知道为什么...但是在第 113 行我创建了数字 400000000 然后将其移动到 edi 但它没有移动?我乘以一个变量 .int 是这个问题吗?
113 mull %ecx #Create number
(gdb) info registers
eax 0x17d78400 400000000
ecx 0x5f5e100 100000000
edx 0x0 0
ebx 0x0 0
esp 0xbffff3a4 0xbffff3a4
ebp 0x0 0x0
esi 0xa 10
edi 0x19cd8f78 432902008
eip 0x8048107 0x8048107 <_output+48>
eflags 0x206 [ PF IF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x0 0
(gdb) s
115 mov %eax, %edi #move low
(gdb) s
116 mov %edx, %esi #move high
(gdb) info registers
eax 0xbf040000 -1090256896
ecx 0x5f5e100 100000000
edx 0x8e1bc9 9313225
ebx 0x0 0
esp 0xbffff3a4 0xbffff3a4
ebp 0x0 0x0
esi 0xa 10
edi 0xbf040000 -1090256896
eip 0x804810b 0x804810b <_output+52>
eflags 0xa87 [ CF PF SF IF OF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x0 0
【问题讨论】:
-
请尝试格式化。在行首添加 4 个空格即可。
-
我机器上的帖子还是实际代码?
-
帖子,但@AdamMaras 已经编辑了帖子并为您设置了格式。
标签: assembly x86-64 cpu-registers