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 + -
显示快捷键?