|
程序1:
01 AREA Hello, CODE, READONLY
02 ENTRY
03 START LDR RO, =0x3FF5000
04 LDR R1, 0xFF
05 STR R1, [R0]
06 LDR R0, =0x3FF5008
07 LDR R1, 0x01
08 STR R1, [R0]
09 B
10 END
问题:
1、为什么LDR伪指令的第二个操作数,第03行的前面有个'='号,而第04行的没有。
2、B指令为什么没有操作数?是否默认为当前位置?
如果是的话,类似的指令还有什么?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
程序2:
01 AREA |Assembly$$code|, CODE, READONLY
02 ENTRY
03 b ResetHandler ;复位向量
04 b . ;保留handlerUndef
05 b . ;保留handlerSWI
06 b . ;保留handlerPAbort
07 b . ;保留handlerDAbort
08 b . ;保留handlerReserved
09 b . ;保留handlerIRQ
10 b . ;保留handlerFIQ
11 ResetHandler
12 ldr r0, =0x00000070
13 mcr p15, 0 ,r0, c1, c0, 0
......
问题:
1、第01行的“|Assembly$$code|”具体是什么含义?
两个“|”有什么作用?“$$”的作用又是什么?
2、第04行的“b .”中的“.”号是什么含义?最后会被编译成什么指令?可否省略?
--
|
|