bitops.h
来自「omap3 linux 2.6 用nocc去除了冗余代码」· C头文件 代码 · 共 30 行
H
30 行
.macro bitop, instr mov r2, #1 and r3, r0, #7 @ Get bit offset add r1, r1, r0, lsr #3 @ Get byte offset mov r3, r2, lsl r31: ldrexb r2, [r1] \instr r2, r2, r3 strexb r0, r2, [r1] cmp r0, #0 bne 1b mov pc, lr .endm .macro testop, instr, store and r3, r0, #7 @ Get bit offset mov r2, #1 add r1, r1, r0, lsr #3 @ Get byte offset mov r3, r2, lsl r3 @ create mask1: ldrexb r2, [r1] ands r0, r2, r3 @ save old value of bit \instr r2, r2, r3 @ toggle bit strexb ip, r2, [r1] cmp ip, #0 bne 1b cmp r0, #0 movne r0, #12: mov pc, lr .endm
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?