MACRO ;宏定义开始
MOV_PC_LR ;宏的名字
[ THUMBCODE ;表示在Thumb工作状态
bx lr ;分支到 Thumb 代码 lr
|
mov pc,lr ;把lr 保存到PC指针
]
MEND ;宏定义结束
;arm处理器有两种工作状态
1.arm:32位 这种工作状态下执行字对准的arm指令 2.Thumb:16位 这种工作状态执行半字对准的Thumb指令
;因为处理器分为16位 32位两种工作状态 程序的编译器也是分16位和32两种编译方式 所以下面的程序用于根据处理器工作状态确定编译器编译方式
;code16伪指令指示汇编编译器后面的指令为16位的thumb指令
;code32伪指令指示汇编编译器后面的指令为32位的arm指令
;这段是为了统一目前的处理器工作状态和软件编译方式(16位编译环境使用tasm.exe编译)
另外
[ =if
| =else
] =end if
1421

被折叠的 条评论
为什么被折叠?



