⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memmove.s

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 S
字号:
/* * arch/alpha/lib/memmove.S * * Barely optimized memmove routine for Alpha EV5. * * This is hand-massaged output from the original memcpy.c.  We defer to * memcpy whenever possible; the backwards copy loops are not unrolled. */        	.set noat	.set noreorder	.text	.align 4	.globl memmove	.ent memmovememmove:	addq $16,$18,$4	addq $17,$18,$5	cmpule $4,$17,$1		/*  dest + n <= src  */	cmpule $5,$16,$2		/*  dest >= src + n  */	bis $1,$2,$1	mov $16,$0	xor $16,$17,$2	bne $1,memcpy	and $2,7,$2			/* Test for src/dest co-alignment.  */	and $16,7,$1	cmpule $16,$17,$3	bne $3,$memmove_up		/* dest < src */	and $4,7,$1	bne $2,$misaligned_dn	unop	beq $1,$skip_aligned_byte_loop_head_dn$aligned_byte_loop_head_dn:	lda $4,-1($4)	lda $5,-1($5)	unop	ble $18,$egress	ldq_u $3,0($5)	ldq_u $2,0($4)	lda $18,-1($18)	extbl $3,$5,$1	insbl $1,$4,$1	mskbl $2,$4,$2	bis $1,$2,$1	and $4,7,$6	stq_u $1,0($4)	bne $6,$aligned_byte_loop_head_dn$skip_aligned_byte_loop_head_dn:	lda $18,-8($18)	blt $18,$skip_aligned_word_loop_dn$aligned_word_loop_dn:	ldq $1,-8($5)	nop	lda $5,-8($5)	lda $18,-8($18)	stq $1,-8($4)	nop	lda $4,-8($4)	bge $18,$aligned_word_loop_dn$skip_aligned_word_loop_dn:	lda $18,8($18)	bgt $18,$byte_loop_tail_dn	unop	ret $31,($26),1	.align 4$misaligned_dn:	nop	fnop	unop	beq $18,$egress$byte_loop_tail_dn:	ldq_u $3,-1($5)	ldq_u $2,-1($4)	lda $5,-1($5)	lda $4,-1($4)	lda $18,-1($18)	extbl $3,$5,$1	insbl $1,$4,$1	mskbl $2,$4,$2	bis $1,$2,$1	stq_u $1,0($4)	bgt $18,$byte_loop_tail_dn	br $egress$memmove_up:	mov $16,$4	mov $17,$5	bne $2,$misaligned_up	beq $1,$skip_aligned_byte_loop_head_up$aligned_byte_loop_head_up:	unop	ble $18,$egress	ldq_u $3,0($5)	ldq_u $2,0($4)	lda $18,-1($18)	extbl $3,$5,$1	insbl $1,$4,$1	mskbl $2,$4,$2	bis $1,$2,$1	lda $5,1($5)	stq_u $1,0($4)	lda $4,1($4)	and $4,7,$6	bne $6,$aligned_byte_loop_head_up$skip_aligned_byte_loop_head_up:	lda $18,-8($18)	blt $18,$skip_aligned_word_loop_up$aligned_word_loop_up:	ldq $1,0($5)	nop	lda $5,8($5)	lda $18,-8($18)	stq $1,0($4)	nop	lda $4,8($4)	bge $18,$aligned_word_loop_up$skip_aligned_word_loop_up:	lda $18,8($18)	bgt $18,$byte_loop_tail_up	unop	ret $31,($26),1	.align 4$misaligned_up:	nop	fnop	unop	beq $18,$egress$byte_loop_tail_up:	ldq_u $3,0($5)	ldq_u $2,0($4)	lda $18,-1($18)	extbl $3,$5,$1	insbl $1,$4,$1	mskbl $2,$4,$2	bis $1,$2,$1	stq_u $1,0($4)	lda $5,1($5)	lda $4,1($4)	nop	bgt $18,$byte_loop_tail_up$egress:	ret $31,($26),1	nop	nop	nop	.end memmove

⌨️ 快捷键说明

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