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

📄 alpha_mach_dep.s

📁 A garbage collector for C and C
💻 S
字号:
 # $Id: alpha_mach_dep.s,v 1.2 1993/01/18 22:54:51 dosser Exp $	.arch ev6        .text        .align  4        .globl  GC_push_regs        .ent    GC_push_regs 2GC_push_regs:	ldgp    $gp, 0($27)	lda     $sp, -16($sp)	stq     $26, 0($sp)        .mask   0x04000000, 0        .frame  $sp, 16, $26, 0 # $0		integer result # $1-$8	temp regs - not preserved cross calls # $9-$15	call saved regs # $16-$21	argument regs - not preserved cross calls # $22-$28	temp regs - not preserved cross calls # $29		global pointer - not preserved cross calls # $30		stack pointer# define call_push(x)			\	mov   x, $16;			\	jsr   $26, GC_push_one;		\	ldgp  $gp, 0($26)	        call_push($9)        call_push($10)        call_push($11)        call_push($12)        call_push($13)        call_push($14)        call_push($15) # $f0-$f1	floating point results # $f2-$f9	call saved regs # $f10-$f30	temp regs - not preserved cross calls	# Use the most efficient transfer method for this hardware.	# Bit 1 detects the FIX extension, which includes ftoit.	amask	2, $0	bne	$0, $use_stack#undef call_push#define call_push(x)			\	ftoit	x, $16;			\	jsr	$26, GC_push_one;	\	ldgp	$gp, 0($26)	call_push($f2)	call_push($f3)	call_push($f4)	call_push($f5)	call_push($f6)	call_push($f7)	call_push($f8)	call_push($f9)	ldq     $26, 0($sp)	lda     $sp, 16($sp)	ret     $31, ($26), 1	.align	4$use_stack:#undef call_push#define call_push(x)			\	stt	x, 8($sp);		\	ldq	$16, 8($sp);		\	jsr	$26, GC_push_one;	\	ldgp	$gp, 0($26)	call_push($f2)	call_push($f3)	call_push($f4)	call_push($f5)	call_push($f6)	call_push($f7)	call_push($f8)	call_push($f9)	ldq     $26, 0($sp)	lda     $sp, 16($sp)	ret     $31, ($26), 1	.end    GC_push_regs

⌨️ 快捷键说明

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