qatomic.s

来自「QT 开发环境里面一个很重要的文件」· S 代码 · 共 147 行

S
147
字号
	.set noreorder	.set volatile	.set noat	.arch ev4	.text	.align 2	.align 4	.globl q_atomic_test_and_set_int	.ent q_atomic_test_and_set_intq_atomic_test_and_set_int:	.frame $30,0,$26,0	.prologue 01:	ldl_l $0,0($16)	cmpeq $0,$17,$0	beq   $0,3f	mov   $18,$0	stl_c $0,0($16)	beq   $0,2f	br    3f2:	br    1b3:	addl  $31,$0,$0	ret   $31,($26),1	.end q_atomic_test_and_set_int	.align 2	.align 4	.globl q_atomic_test_and_set_acquire_int	.ent q_atomic_test_and_set_acquire_intq_atomic_test_and_set_acquire_int:	.frame $30,0,$26,0	.prologue 01:	ldl_l $0,0($16)	cmpeq $0,$17,$0	beq   $0,3f	mov   $18,$0	stl_c $0,0($16)	beq   $0,2f	br    3f2:	br    1b3:	mb	addl  $31,$0,$0	ret   $31,($26),1	.end q_atomic_test_and_set_acquire_int	.align 2	.align 4	.globl q_atomic_test_and_set_release_int	.ent q_atomic_test_and_set_release_intq_atomic_test_and_set_release_int:	.frame $30,0,$26,0	.prologue 0	mb1:	ldl_l $0,0($16)	cmpeq $0,$17,$0	beq   $0,3f	mov   $18,$0	stl_c $0,0($16)	beq   $0,2f	br    3f2:	br    1b3:	addl  $31,$0,$0	ret   $31,($26),1	.end q_atomic_test_and_set_release_int	.align 2	.align 4	.globl q_atomic_test_and_set_ptr	.ent q_atomic_test_and_set_ptrq_atomic_test_and_set_ptr:	.frame $30,0,$26,0	.prologue 01:	ldq_l $0,0($16)	cmpeq $0,$17,$0	beq   $0,3f	mov   $18,$0	stq_c $0,0($16)	beq   $0,2f	br    3f2:	br    1b3:	addl  $31,$0,$0	ret   $31,($26),1	.end q_atomic_test_and_set_ptr	.align 2	.align 4	.globl q_atomic_increment	.ent q_atomic_incrementq_atomic_increment:	.frame $30,0,$26,0	.prologue 01:	ldl_l $0,0($16)	addl  $0,1,$1	stl_c $1,0($16)	beq   $1,2f	br    3f2:	br    1b3:	addl $31,$0,$0	cmpeq $0,$1,$0	xor $0,1,$0	ret $31,($26),1	.end q_atomic_increment	.align 2	.align 4	.globl q_atomic_decrement	.ent q_atomic_decrementq_atomic_decrement:	.frame $30,0,$26,0	.prologue 01:	ldl_l $0,0($16)	subl  $0,1,$1	stl_c $1,0($16)	beq   $1,2f	br    3f2:	br    1b3:	addl  $31,$0,$0	cmpeq $0,1,$0	xor $0,1,$0	ret $31,($26),1	.end q_atomic_decrement	.align 2	.align 4	.globl q_atomic_set_int	.ent q_atomic_set_intq_atomic_set_int:	.frame $30,0,$26,0	.prologue 01:	ldl_l $0,0($16)	mov   $17,$1	stl_c $1,0($16)	beq   $1,2f	br    3f2:	br    1b3:	addl  $31,$0,$0	ret   $31,($26),1	.end q_atomic_set_int	.align 2	.align 4	.globl q_atomic_set_ptr	.ent q_atomic_set_ptrq_atomic_set_ptr:	.frame $30,0,$26,0	.prologue 01:	ldq_l $0,0($16)	mov   $17,$1	stq_c $1,0($16)	beq   $1,2f	br    3f2:	br    1b3:	ret   $31,($26),1	.end q_atomic_set_ptr

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?