大哥,你好好看看这段汇编的含义:
MOVS r0, #0x02 ;给寄存器r0赋值0x02,r0作为载体,将数值0x02最终赋给变量KeyDecFlag
LDR r1, [pc, #160] ;把pc+160所指向的地址空间的内容装载到r1,这里r1只是个指针
STRB r0, [r1, #0x00] ;最后把r0的内容存储到r1+0所指向的地址空间,存储宽度为1个字节
所以,这里pc+160只是个指向KeyDecFlag地址的地址,即二维指针,也就是说,在0x08001cb8的地方存储的是KeyDecFlag的地址,因为这个地址是个常量,所以是存放在只读数据段的,即0x8000000到0x8040000的范围。
|