最近在看深入理解计算机系统
在practice problem 3.15关于jmp的语句有点疑问
804828f: 74 05 je XXXXXXXXXX
8048291: e8 1e 00 00 00 call 80482b4
后面还有相关的几个问题,这里只是对跳转语句的目的地址有点疑惑,答案是目的地址是 8048291+0x05
也就是je下一条语句的地址加05,不知道这是为什么?是因为PC计数器已经将8048291存入了,而je指令只能操作PC里面的指令吗?求解答啊
------解决思路----------------------
74 05 是是 je 指令,05 是转移的偏移量,偏移是相对于 je 指令的下一指令的地址来说的,下一指令是那个位于 8048291 处的 call 指令,所以目标地址就是 8048291+05 了。