(接上题)下列关于0x8048c71处指令的说法中正确的是:()
A: 该指令完成了一次相对跳转(即其操作数给出了跳转目标地址相对于当前PC值的偏移量)
B: 该指令对应的二进制机器指令目标代码中包含了跳转目标地址的小端表示
C: 该指令以eax寄存器中的值作为存储器地址,进一步将位于该地址的存储器单元中保存的值作为跳转的目标地址
D: 以上都不是
A: 该指令完成了一次相对跳转(即其操作数给出了跳转目标地址相对于当前PC值的偏移量)
B: 该指令对应的二进制机器指令目标代码中包含了跳转目标地址的小端表示
C: 该指令以eax寄存器中的值作为存储器地址,进一步将位于该地址的存储器单元中保存的值作为跳转的目标地址
D: 以上都不是
举一反三
- (接上题)程序执行地址0x8049171处的jmp指令时,寄存器eax中保存的值是:() A: 相应switch跳转表项在程序虚地址空间中的地址 B: 跳转目标指令地址相对于代码(.text)节起始地址的偏移量 C: 跳转目标指令地址相对于当前PC值的偏移量 D: 跳转目标指令在程序虚地址空间中的地址
- 如JC rel发生跳转时,目标地址为当前指令地址加上偏移量
- (接上题)已知在程序链接过程中,该switch语句对应的跳转表中的表项值需要以R_386_32方式进行重定位,并且重定位的目标符号是代码(.text)节。则在链接前的可重定位目标文件中,跳转表的表项中保存的值是:() A: 上列汇编指令序列中的“jmp *%eax”指令相对于代码(.text)节起始位置的偏移量 B: 相应case语句块的首指令相对于代码(.text)节起始位置的偏移量 C: 上列汇编指令序列中的“jmp *%eax”指令在程序虚地址空间中的地址 D: 相应case语句块的首指令在程序虚地址空间中的地址
- 关于无条件转移指令,以下说法正确的是 A: 长转移指令LJMP MAIN 指令中,MAIN表示目标指令标号,编译时会被转换为16位地址 B: 相对转移指令 SJMP LOOP 中,LOOP表示目标指令标号,编译时计算出相对当前指令的偏移量 C: 间接跳转指令@A+DPTR可用于多分枝转移程序 D: 转移指令改变程序计数器PC值
- 【判断题】相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。