理解什么是:标号地址、标号名字、指令地址、指令机器码、指令机器码反汇编到的指令
下面以一段dis文件中代码来简单理解一下反汇编的读法(为了方便,部分说明已经卸载代码块双斜杠后面)
led.elf: file format elf32-littlearm //表明这是由led.elf文件反汇编得到的dis文件
//文件格式是elf32位的,且是小端模式存放
Disassembly of section .text: //说明反汇编文件是.text
00000000 <_start>: //标号地址、标号名字
0: e59f0050 ldr r0, [pc, #80] ; 58 <delay_loop+0x10>
4: e59f1050 ldr r1, [pc, #80] ; 5c <delay_loop+0x14>
8: e5810000 str r0, [r1]
指令地址 :号前面的数值
指令机器码 e59f0050这一列
指令机器码反汇编到的指令 ldr r0, [pc, #80] ; 58 <delay_loop+0x10>
【补充一小点:CPU工作原理】CPU通过访问指令地址,来访问指令机器码的
/*与上面反汇编代码对应的汇编代码*/
_start:
ldr r0, =0x11111111 // 从后面的=可以看出用的