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

📄 ldm.s

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 S
字号:
# Hitachi H8 testcase 'ldm', 'stm'# mach(): all# as(h8300):	--defsym sim_cpu=0# as(h8300h):	--defsym sim_cpu=1# as(h8300s):	--defsym sim_cpu=2# as(h8sx):	--defsym sim_cpu=3# ld(h8300h):	-m h8300helf# ld(h8300s):	-m h8300self# ld(h8sx):	-m h8300sxelf	.include "testutils.inc"	.data	.align 4_stack:	.long	0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0	.long	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	.long	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	.long	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0_stack_top:	start.if (sim_cpu == h8300s || sim_cpu == h8sx)	; Earlier versions, no exrstm_2reg:	set_grs_a5a5	mov	#_stack_top, er7	mov	#2, er2	mov	#3, er3		set_ccr_zero	stm	er2-er3, @-sp	test_cc_clear		test_gr_a5a5 0		; Make sure other general regs not disturbed	test_gr_a5a5 1	test_h_gr32  2	er2	test_h_gr32  3	er3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_h_gr32  _stack_top-8, er7	mov	@_stack_top-4, er0	cmp	#2, er0	bne	fail1	mov	@_stack_top-8, er0	cmp	#3, er0	bne	fail1	mov	@_stack_top-12, er0	cmp	#0, er0	bne	fail1stm_3reg:	set_grs_a5a5	mov	#_stack_top, er7	mov	#4, er4	mov	#5, er5	mov	#6, er6		set_ccr_zero	stm	er4-er6, @-sp	test_cc_clear		test_gr_a5a5 0		; Make sure other general regs not disturbed	test_gr_a5a5 1	test_gr_a5a5 2	test_gr_a5a5 3	test_h_gr32  4	er4	test_h_gr32  5	er5	test_h_gr32  6	er6	test_h_gr32  _stack_top-12, er7	mov	@_stack_top-4, er0	cmp	#4, er0	bne	fail1	mov	@_stack_top-8, er0	cmp	#5, er0	bne	fail1	mov	@_stack_top-12, er0	cmp	#6, er0	bne	fail1	mov	@_stack_top-16, er0	cmp	#0, er0	bne	fail1stm_4reg:	set_grs_a5a5	mov	#_stack_top, er7	mov	#1, er0	mov	#2, er1	mov	#3, er2	mov	#4, er3		set_ccr_zero	stm	er0-er3, @-sp	test_cc_clear		test_h_gr32  1	er0	test_h_gr32  2	er1	test_h_gr32  3	er2	test_h_gr32  4	er3	test_gr_a5a5 4		; Make sure other general regs not disturbed	test_gr_a5a5 5	test_gr_a5a5 6	test_h_gr32  _stack_top-16, er7	mov	@_stack_top-4, er0	cmp	#1, er0	bne	fail1	mov	@_stack_top-8, er0	cmp	#2, er0	bne	fail1	mov	@_stack_top-12, er0	cmp	#3, er0	bne	fail1	mov	@_stack_top-16, er0	cmp	#4, er0	bne	fail1	mov	@_stack_top-20, er0	cmp	#0, er0	bne	fail1ldm_2reg:	set_grs_a5a5	mov	#_stack, er7		set_ccr_zero	ldm	@sp+, er2-er3	test_cc_clear		test_gr_a5a5 0		; Make sure other general regs not disturbed	test_gr_a5a5 1	test_h_gr32  1	er2	test_h_gr32  0	er3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_h_gr32  _stack+8, er7ldm_3reg:	set_grs_a5a5	mov	#_stack+4, er7		set_ccr_zero	ldm	@sp+, er4-er6	test_cc_clear		test_gr_a5a5 0		; Make sure other general regs not disturbed	test_gr_a5a5 1	test_gr_a5a5 2	test_gr_a5a5 3	test_h_gr32  3	er4	test_h_gr32  2	er5	test_h_gr32  1	er6	test_h_gr32  _stack+16, er7ldm_4reg:	set_grs_a5a5	mov	#_stack+4, er7		set_ccr_zero	ldm	@sp+, er0-er3	test_cc_clear		test_h_gr32  4	er0	test_h_gr32  3	er1	test_h_gr32  2	er2	test_h_gr32  1	er3	test_gr_a5a5 4		; Make sure other general regs not disturbed	test_gr_a5a5 5	test_gr_a5a5 6	test_h_gr32  _stack+20, er7.endifpushpop:	set_grs_a5a5.if (sim_cpu == h8300)	mov	#_stack_top, r7	mov	#12, r1	mov	#34, r2	mov	#56, r3	push	r1	push	r2	push	r3	pop	r4	pop	r5	pop	r6	test_gr_a5a5 0		; Make sure other general _reg_ not disturbed	test_h_gr16  12	r1	test_h_gr16  34	r2	test_h_gr16  56	r3	test_h_gr16  56	r4	test_h_gr16  34	r5	test_h_gr16  12	r6	mov	#_stack_top, r0	cmp.w	r0, r7	bne	fail1.else	mov	#_stack_top, er7	mov	#12, er1	mov	#34, er2	mov	#56, er3	push	er1	push	er2	push	er3	pop	er4	pop	er5	pop	er6	test_gr_a5a5 0		; Make sure other general _reg_ not disturbed	test_h_gr32  12	er1	test_h_gr32  34	er2	test_h_gr32  56	er3	test_h_gr32  56	er4	test_h_gr32  34	er5	test_h_gr32  12	er6	test_h_gr32  _stack_top, er7.endif			pass	exit 0fail1:	fail

⌨️ 快捷键说明

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