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

📄 testutils.inc

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 INC
字号:
SYS_exit = 1SYS_write = 4	.bss	.space 64_stack:	.datapass_text:	.string "pass\n"fail_text:	.string "fail\n"	.text	.global	_start_start:	movhi   hi(_stack),	r0,	sp	movea   lo(_stack),	sp,	sp	jr	start_test	.macro	seti	val reg	movhi	hi(\val),r0,\reg	movea	lo(\val),\reg,\reg	.endm_pass_1:	mov	SYS_write,r6	mov	1,r7	seti	pass_text,r8	mov	5,r9	trap	31	mov	0, r7	jr	_exit_fail_1:	mov	SYS_write,r6	mov	1,r7	seti	fail_text,r8	mov	5,r9	trap	31	mov	1, r7	jr	_exit_exit:	mov	SYS_exit, r6	mov	0, r8	mov	0, r9	trap	31_pass:	jr	_pass_1_fail:	jr	_fail_1	.macro	pass	jr	_pass	.endm	.macro	fail	jr	_fail	.endm	# These pass or fail if the given flag is set or not set	# Currently, it assumed that the code of any test is going to	# be less than 256 bytes.  Else, we'll have to use a	# branch-around-jump design instead.	.macro	pass_c	bc	_pass	.endm	.macro	fail_c	bc	_fail	.endm	.macro	pass_nc	bnc	_pass	.endm	.macro	fail_nc	bnc	_fail	.endm	.macro	pass_z	bz	_pass	.endm	.macro	fail_z	bz	_fail	.endm	.macro	pass_nz	bnz	_pass	.endm	.macro	fail_nz	bnz	_fail	.endm	.macro	pass_v	bv	_pass	.endm	.macro	fail_v	bv	_fail	.endm	.macro	pass_nv	bnv	_pass	.endm	.macro	fail_nv	bnv	_fail	.endm	.macro	pass_s	bn	_pass	.endm	.macro	fail_s	bn	_fail	.endm	.macro	pass_ns	bp	_pass	.endm	.macro	fail_ns	bp	_fail	.endm	.macro	pass_sat	bsa	_pass	.endm	.macro	fail_sat	bsa	_fail	.endm	.macro	pass_nsat	bsa	1f	br	_pass1:	.endm	.macro	fail_nsat	bsa	1f	br	_fail1:	.endm	# These pass/fail if the given register has/hasn't the specified value in it.	.macro	pass_req	reg val	seti	\val,r10	cmp	r10,\reg	be	_pass	.endm	.macro	pass_rne	reg val	seti	\val,r10	cmp	r10,\reg	bne	_pass	.endm	.macro	fail_req	reg val	seti	\val,r10	cmp	r10,\reg	be	_fail	.endm	.macro	fail_rne	reg val	seti	\val,r10	cmp	r10,\reg	bne	_fail	.endm# convenience version	.macro	reg	reg val	seti	\val,r10	cmp	r10,\reg	bne	_fail	.endmz    = 1nz   = 0s    = 2ns   = 0v    = 4nv   = 0c    = 8nc   = 0sat  = 16nsat = 0# sat c v s z	.macro	flags	fval	stsr	psw, r10	movea	+(\fval), r0, r9	andi	31, r10, r10	cmp	r9, r10	bne	_fail	.endm	.macro	noflags	stsr	psw, r10	andi	~0x1f, r10, r10	ldsr	r10, psw	.endm	.macro	allflags	stsr	psw, r10	ori	0x1f, r10, r10	ldsr	r10, psw	.endmstart_test:

⌨️ 快捷键说明

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