bne1b的意思

head.S中初始化内存有以下一段程序:

ENTRY(memsetup)
 @ initialise the static memory

 @ set memory control registers
 mov r1, #MEM_CTL_BASE
 adrl r2, mem_cfg_val
 add r3, r1, #52
1: ldr r4, [r2], #4     <----又跳到这
 str r4, [r1], #4
 cmp r1, r3
 bne 1b

上面的1b标号在head.S中找了半天硬是找不到,把整个vivi都找了一遍还是没有。查了半天原来这个1是局部标号。

当标号为0~9的数字时为局部标号,局部标号可以重复出现,使用方法如下:
 标号f:  表示往前跳,顺序执行的话是没有运行过的程序front的意思。

 标号b: 表示跳转到以前执行过的语句,第一个1标号处 ,back的意思。

 

head.S中还有很多这样的语句也不难理解

1: 1b  @ infinite loop 无限循环

只要想着 b 就是back,回去的意思,回到以前那个标号1处,这里即当前标号,即永远循环执行这个语句,相当于while(1)。


原文链接:http://blog.chinaunix.net/uid-20551291-id-1926997.html

帮我解析b79a4处可能的代码000b7860 <wlc_keymgmt_recvdata>: b7860: e92d43f7 push {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} b7864: e1a07000 mov r7, r0 b7868: e5913018 ldr r3, [r1, #24] b786c: e1a04001 mov r4, r1 b7870: e281603c add r6, r1, #60 ; 0x3c b7874: e1d331b4 ldrh r3, [r3, #20] b7878: e3130008 tst r3, #8 b787c: 0a00000c beq b78b4 <wlc_keymgmt_recvdata+0x54> b7880: e5902048 ldr r2, [r0, #72] ; 0x48 b7884: e7e83353 ubfx r3, r3, #6, #9 b7888: e1d210b8 ldrh r1, [r2, #8] b788c: e1510003 cmp r1, r3 b7890: 1a000007 bne b78b4 <wlc_keymgmt_recvdata+0x54> b7894: e592e004 ldr lr, [r2, #4] b7898: e1a0c006 mov ip, r6 b789c: e5925000 ldr r5, [r2] b78a0: e8be000f ldm lr!, {r0, r1, r2, r3} b78a4: e8ac000f stmia ip!, {r0, r1, r2, r3} b78a8: e59e3000 ldr r3, [lr] b78ac: e58c3000 str r3, [ip] b78b0: ea00001b b b7924 <wlc_keymgmt_recvdata+0xc4> b78b4: e5943014 ldr r3, [r4, #20] b78b8: e1d309b8 ldrh r0, [r3, #152] ; 0x98 b78bc: ebfffffe bl 1c57d4 <wlc_scb_flowid_global_lookup> b78c0: e5943034 ldr r3, [r4, #52] ; 0x34 b78c4: e3530000 cmp r3, #0 b78c8: e1a01000 mov r1, r0 b78cc: 0a00003b beq b79c0 <wlc_keymgmt_recvdata+0x160> b78d0: e5943004 ldr r3, [r4, #4] b78d4: e590900c ldr r9, [r0, #12] b78d8: e5d38003 ldrb r8, [r3, #3] b78dc: e5d4302c ldrb r3, [r4, #44] ; 0x2c b78e0: e3530000 cmp r3, #0 b78e4: e1a08328 lsr r8, r8, #6 b78e8: 1a000007 bne b790c <wlc_keymgmt_recvdata+0xac> b78ec: e58d6000 str r6, [sp] b78f0: e1a02008 mov r2, r8 b78f4: e1a00007 mov r0, r7 b78f8: ebfffffe bl b6770 <wlc_keymgmt_get_scb_key> b78fc: e5d43048 ldrb r3, [r4, #72] ; 0x48 b7900: e3530000 cmp r3, #0 b7904: e1a05000 mov r5, r0 b7908: 1a000005 bne b7924 <wlc_keymgmt_recvdata+0xc4> b790c: e1a03006 mov r3, r6 b7910: e1a02008 mov r2, r8 b7914: e1a01009 mov r1, r9 b7918: e1a00007 mov r0, r7 b791c: ebfffffe bl aeba0 <wlc_keymgmt_get_bss_key> b7920: e1a05000 mov r5, r0 b7924: e5845038 str r5, [r4, #56] ; 0x38 b7928: e1a00005 mov r0, r5 b792c: e5942018 ldr r2, [r4, #24] b7930: e5941014 ldr r1, [r4, #20] b7934: ebfffffe bl b21e8 <wlc_key_rx_mpdu> b7938: e2506000 subs r6, r0, #0 b793c: 1a000024 bne b79d4 <wlc_keymgmt_recvdata+0x174> b7940: e5d4302c ldrb r3, [r4, #44] ; 0x2c b7944: e3530000 cmp r3, #0 b7948: 1a000005 bne b7964 <wlc_keymgmt_recvdata+0x104> b794c: e5971048 ldr r1, [r7, #72] ; 0x48 b7950: e5913000 ldr r3, [r1] b7954: e1550003 cmp r5, r3 b7958: 0a000001 beq b7964 <wlc_keymgmt_recvdata+0x104> b795c: e1a00005 mov r0, r5 b7960: ebfffffe bl b2ec0 <km_key_update_key_cache> b7964: e5943034 ldr r3, [r4, #52] ; 0x34 b7968: e3530000 cmp r3, #0 b796c: 0a000018 beq b79d4 <wlc_keymgmt_recvdata+0x174> b7970: e5d43048 ldrb r3, [r4, #72] ; 0x48 b7974: e3530000 cmp r3, #0 b7978: 0a000015 beq b79d4 <wlc_keymgmt_recvdata+0x174> b797c: e5d4104c ldrb r1, [r4, #76] ; 0x4c b7980: e5943004 ldr r3, [r4, #4] b7984: e5d4004d ldrb r0, [r4, #77] ; 0x4d b7988: e0833001 add r3, r3, r1 b798c: e5843004 str r3, [r4, #4] b7990: e5943010 ldr r3, [r4, #16] b7994: e5942008 ldr r2, [r4, #8] b7998: e0613003 rsb r3, r1, r3 b799c: e0603003 rsb r3, r0, r3 b79a0: e5843010 str r3, [r4, #16] b79a4: e5943014 ldr r3, [r4, #20] b79a8: e0612002 rsb r2, r1, r2 b79ac: e0602002 rsb r2, r0, r2 b79b0: e5842008 str r2, [r4, #8] b79b4: e593302c ldr r3, [r3, #44] ; 0x2c b79b8: e584300c str r3, [r4, #12] b79bc: ea000004 b b79d4 <wlc_keymgmt_recvdata+0x174> b79c0: e58d6000 str r6, [sp] b79c4: e1a02003 mov r2, r3 b79c8: e1a00007 mov r0, r7 b79cc: ebfffffe bl b6770 <wlc_keymgmt_get_scb_key> b79d0: eaffffd2 b b7920 <wlc_keymgmt_recvdata+0xc0> b79d4: e1a00006 mov r0, r6 b79d8: e28dd00c add sp, sp, #12 b79dc: e8bd83f0 pop {r4, r5, r6, r7, r8, r9, pc}
最新发布
09-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值