📄 adrlabel.s
字号:
# AREA adrlabel, CODE,READONLY
# ENTRY ; Mark first instruction
.text
Start:
BL func /* Branch to subroutine */
stop:
MOV r0, #0x18 /* angel_SWIreason_ReportException */
LDR r1, =0x20026 /* ADP_Stopped_ApplicationExit */
SWI 0x123456 /* Angel semihosting ARM SWI */
/* LTORG / Create a literal pool */
.ltorg
func:
ADR r0, Start /* => SUB r0, PC, #offset to Start */
ADR r1, DataArea /* => ADD r1, PC, #offset to DataArea */
# ADR r2, DataArea+4300
/* This would fail as the offset
cannot be expressed by operand2
of an ADD */
ADRL r3, DataArea+4300 /* => ADD r2, PC, #offset1 */
/* ADD r2, r2, #offset2 */
MOV pc, lr /* Return */
DataArea:
.SPACE 8000 /* Clears a 8000 byte area of memory,
starting at the current location,
to zero.*/
.end
# END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -