📄 movmd.s
字号:
# Hitachi H8 testcase 'movmd'# mach(): h8sx# 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 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16byte_dst: .byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .align 2word_src: .word 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16word_dst: .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .align 4long_src: .long 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16long_dst: .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 start.if (sim_cpu == h8sx)movmd_b:# # Byte block transfer # set_grs_a5a5 mov #byte_src, er5 mov #byte_dst, er6 mov #10, r4 set_ccr_zero ;; movmd.b movmd.b;;; .word 0x7b94 test_cc_clear test_gr_a5a5 0 test_gr_a5a5 1 test_gr_a5a5 2 test_gr_a5a5 3 test_h_gr32 0xa5a50000 er4 test_h_gr32 byte_src+10 er5 test_h_gr32 byte_dst+10 er6 test_gr_a5a5 7 # # Now make sure exactly 10 bytes were transferred. memcmp byte_src byte_dst 10 cmp.b #0, @byte_dst+10 beq .L0 fail.L0:movmd_w:# # Word block transfer # set_grs_a5a5 mov #word_src, er5 mov #word_dst, er6 mov #10, r4 set_ccr_zero ;; movmd.w movmd.w;;; .word 0x7ba4 test_cc_clear test_gr_a5a5 0 test_gr_a5a5 1 test_gr_a5a5 2 test_gr_a5a5 3 test_h_gr32 0xa5a50000 er4 test_h_gr32 word_src+20 er5 test_h_gr32 word_dst+20 er6 test_gr_a5a5 7 # # Now make sure exactly 20 bytes were transferred. memcmp word_src word_dst 20 cmp.w #0, @word_dst+20 beq .L1 fail.L1:movmd_l:# # Long block transfer # set_grs_a5a5 mov #long_src, er5 mov #long_dst, er6 mov #10, r4 set_ccr_zero ;; movmd.b movmd.l;;; .word 0x7bb4 test_cc_clear test_gr_a5a5 0 test_gr_a5a5 1 test_gr_a5a5 2 test_gr_a5a5 3 test_h_gr32 0xa5a50000 er4 test_h_gr32 long_src+40 er5 test_h_gr32 long_dst+40 er6 test_gr_a5a5 7 # # Now make sure exactly 40 bytes were transferred. memcmp long_src long_dst 40 cmp.l #0, @long_dst+40 beq .L2 fail.L2:.endif pass exit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -