mov r4, #0x02
TBB [PC,R4] //TBB指令占4字节
//PC = PC + 4 流水线原因 指到jpt_1A7C 跳转表的起始位置
//跳转位置计算 new_pc = pc+4 (jpt_1A7C) ......1 step
//new_pc = new_pc + 2 * (jpt_1A7C[r4]) ......2 step
//比如 r4=0, new_pc = new_pc + 2*2 = loc_1A84
//比如 r4=1, new_pc = new_pc + 4*2 = loc_1A84x
jpt_1A7C:
.byte 0x2
.byte 4
.byte 0x6
.byte 0xC
loc_1A84:
nop
nop
loc_1A84x:
mov r0, #9
B loc_quit
mov r0, #10
B loc_quit
nop
nop
nop
mov r0, #7
B loc_quit
def_1A7C:
nop
nop
nop
nop
mov r0, #2
nop
thumb tbb指令理解
汇编TBB指令跳转位置计算示例
最新推荐文章于 2025-05-08 11:51:10 发布
259






