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

📄 biand.s

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 S
字号:
# Hitachi H8 testcase 'biand', 'bior', 'bixor', 'bild', 'bist', 'bistz'# 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"	.databyte_src:	.byte 0xa5byte_dst:	.byte 0	startbiand_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; biand xx:3, reg8	biand	#6, r0l		; this should NOT set the carry flag.	test_cc_clear	biand	#7, r0l		; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr		; set the carry flag	biand	#6, r0l		; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, r0l		; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed.biand_imm3_ind:	set_grs_a5a5.if (sim_cpu == h8300)	mov	#byte_src, r1	set_ccr_zero	;; biand xx:3, ind	biand	#6, @r1		; this should NOT set the carry flag.	test_cc_clear	biand	#7, @r1		; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr		; set the carry flag	biand	#6, @r1		; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, @r1		; this should clear the carry flag	test_cc_clear;;; 	test_h_gr16  byte_src r1	;FIXME.else	mov	#byte_src, er1	set_ccr_zero	;; biand xx:3, ind	biand	#6, @er1	; this should NOT set the carry flag.	test_cc_clear	biand	#7, @er1	; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr		; set the carry flag	biand	#6, @er1	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, @er1	; this should clear the carry flag	test_cc_clear	test_h_gr32  byte_src er1.endif				; h8300	test_gr_a5a5 0		; general registers should not be changed.	test_gr_a5a5 2	test_gr_a5a5 3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_gr_a5a5 7biand_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; biand xx:3, aa:8	biand	#6, @0x20:8	; this should NOT set the carry flag.	test_cc_clear	biand	#7, @0x20:8	; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr		; set the carry flag	biand	#6, @0x20:8	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, @0x20:8	; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed..if (sim_cpu > h8300h)biand_imm3_abs16:	set_grs_a5a5	set_ccr_zero	;; biand xx:3, aa:16	biand	#6, @byte_src:16	; this should NOT set the carry flag.	test_cc_clear	biand	#7, @byte_src:16	; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr			; set the carry flag	biand	#6, @byte_src:16	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, @byte_src:16	; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed.biand_imm3_abs32:	set_grs_a5a5	set_ccr_zero	;; biand xx:3, aa:32	biand	#6, @byte_src:32	; this should NOT set the carry flag.	test_cc_clear	biand	#7, @byte_src:32	; this should NOT set the carry flag.	test_cc_clear	orc	#1, ccr			; set the carry flag	biand	#6, @byte_src:32	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	biand	#7, @byte_src:32	; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed..endifbior_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; bior xx:3, reg8	bior	#7, r0l		; this should NOT set the carry flag.	test_cc_clear	bior	#6, r0l		; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	orc	#1, ccr		; set the carry flag	bior	#6, r0l		; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	bior	#7, r0l		; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed.bior_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bior xx:3, aa:8	bior	#7, @0x20:8	; this should NOT set the carry flag.	test_cc_clear	bior	#6, @0x20:8	; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	orc	#1, ccr		; set the carry flag	bior	#6, @0x20:8	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	bior	#7, @0x20:8	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed.bixor_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; bixor xx:3, reg8	bixor	#7, r0l		; this should NOT set the carry flag.	test_cc_clear	bixor	#6, r0l		; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	orc	#1, ccr		; set the carry flag	bixor	#7, r0l		; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	bixor	#6, r0l		; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed.bixor_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bixor xx:3, aa:8	bixor	#7, @0x20:8	; this should NOT set the carry flag.	test_cc_clear	bixor	#6, @0x20:8	; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	orc	#1, ccr		; set the carry flag	bixor	#7, @0x20:8	; this should NOT clear the carry flag	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	bixor	#6, @0x20:8	; this should clear the carry flag	test_cc_clear	test_grs_a5a5		; general registers should not be changed.bild_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; bild xx:3, reg8	bild	#7, r0l		; this should NOT set the carry flag.	test_cc_clear	bild	#6, r0l		; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed.bild_imm3_ind:	set_grs_a5a5.if (sim_cpu == h8300)	mov	#byte_src, r1	set_ccr_zero	;; bild xx:3, ind	bild	#7, @r1		; this should NOT set the carry flag.	test_cc_clear	bild	#6, @r1		; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear;;; 	test_h_gr16  byte_src r1	;FIXME.else	mov	#byte_src, er1	set_ccr_zero	;; bild xx:3, ind	bild	#7, @er1	; this should NOT set the carry flag.	test_cc_clear	bild	#6, @er1	; this should NOT set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_h_gr32  byte_src er1.endif				; h8300	test_gr_a5a5 0		; general registers should not be changed.	test_gr_a5a5 2	test_gr_a5a5 3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_gr_a5a5 7bild_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bild xx:3, aa:8	bild	#7, @0x20:8	; this should NOT set the carry flag.	test_cc_clear	bild	#6, @0x20:8	; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed..if (sim_cpu > h8300h)bild_imm3_abs16:	set_grs_a5a5	set_ccr_zero	;; bild xx:3, aa:16	bild	#7, @byte_src:16	; this should NOT set the carry flag.	test_cc_clear	bild	#6, @byte_src:16	; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed.bild_imm3_abs32:	set_grs_a5a5	set_ccr_zero	;; bild xx:3, aa:32	bild	#7, @byte_src:32	; this should NOT set the carry flag.	test_cc_clear	bild	#6, @byte_src:32	; this should set the carry flag.	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_grs_a5a5		; general registers should not be changed..endifbist_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; bist xx:3, reg8	bist	#6, r0l		; this should set bit 6	test_cc_clear	test_h_gr16 0xa5e5 r0	set_ccr_zero	orc	#1, ccr		; set the carry flag	bist	#7, r0l		; this should clear bit 7	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	test_h_gr16 0xa565 r0	test_gr_a5a5 1		; Rest of general regs should not be changed.	test_gr_a5a5 2	test_gr_a5a5 3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_gr_a5a5 7bist_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bist xx:3, aa:8	bist	#6, @0x20:8	; this should set bit 6	test_cc_clear	mov.b	@0x20, r0l	test_h_gr16 0xa5e5 r0	set_ccr_zero	orc	#1, ccr		; set the carry flag	bist	#7, @0x20:8	; this should clear bit 7	test_carry_set	test_ovf_clear	test_neg_clear	test_zero_clear	mov.b	@0x20, r0l	test_h_gr16 0xa565 r0	test_gr_a5a5 1		; general registers should not be changed.	test_gr_a5a5 2	test_gr_a5a5 3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_gr_a5a5 7.if (sim_cpu == h8sx)bistz_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bistz xx:3, aa:8	bistz	#6, @0x20:8	; this should set bit 6	test_cc_clear	mov.b	@0x20, r0l	test_h_gr16 0xa5e5 r0	set_ccr_zero	orc	#4, ccr		; set the zero flag	bistz	#7, @0x20:8	; this should clear bit 7	test_carry_clear	test_ovf_clear	test_neg_clear	test_zero_set	mov.b	@0x20, r0l	test_h_gr16 0xa565 r0	test_gr_a5a5 1		; general registers should not be changed.	test_gr_a5a5 2	test_gr_a5a5 3	test_gr_a5a5 4	test_gr_a5a5 5	test_gr_a5a5 6	test_gr_a5a5 7.endif				; h8sxbnot_imm3_reg8:	set_grs_a5a5	set_ccr_zero	;; bnot xx:3, reg8	bnot	#7, r0l	test_cc_clear	test_h_gr16 0xa525 r0	set_ccr_zero	bnot	#6, r0l	test_cc_clear	test_h_gr16 0xa565 r0	set_ccr_zero	bnot	#5, r0l	test_cc_clear	test_h_gr16 0xa545 r0	set_ccr_zero	bnot	#4, r0l	test_cc_clear	test_h_gr16 0xa555 r0	set_ccr_zero	bnot	#4, r0l	bnot	#5, r0l	bnot	#6, r0l	bnot	#7, r0l	test_cc_clear	test_grs_a5a5		; general registers should not be changed.bnot_imm3_abs8:	set_grs_a5a5	mov.b	r1l, @0x20	set_ccr_zero	;; bnot xx:3, aa:8	bnot	#7, @0x20:8	bnot	#6, @0x20:8	bnot	#5, @0x20:8	bnot	#4, @0x20:8	test_cc_clear	test_grs_a5a5	mov	@0x20, r0l	test_h_gr16 0xa555 r0		pass	exit 0

⌨️ 快捷键说明

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