📄 h8300.exp
字号:
} } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 2] then { pass $testname } else { fail $testname }}proc do_h8300h_incdec {} { set testname "incdech.s: h8300h incdec tests" set x 0 gas_start "incdech.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 1A08\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 1B50\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 1BD0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 1B70\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 1BF0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 0A08\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 0B50\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 0BD0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 0B70\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 0BF0\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 10] then { pass $testname } else { fail $testname }}proc do_h8300h_divmul {} { set testname "divmulh.s: h8300h divmul tests" set x 0 gas_start "divmulh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 5181\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 5301\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 01D05181\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 01D05301\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 5081\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 5201\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 01C05081\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 01C05201\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 8] then { pass $testname } else { fail $testname }}proc do_h8300h_misc {} { set testname "misch.s: h8300h misc tests" set x 0 gas_start "misch.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 7B5C598F\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 7BD4598F\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 0700\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 0308\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 01406900\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 01406F00\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 01407800\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 01406D00\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0024 01406B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002a 01406B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0032 0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0034 5670\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0036 5470\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0038 0180\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 003a 0208\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 003c 01406980\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0040 01406F80\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0046 01407800\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0050 01406D80\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0054 01406B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 005a 01406BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 21] then { pass $testname } else { fail $testname } setup_xfail "h8300*-*-*" fail "h8300h movfpe/movtpe tests"}proc do_h8300h_movb {} { set testname "movbh.s: h8300h movb tests" set x 0 gas_start "movbh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 0C89\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 F810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 6818\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 6E180010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 78106A28\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 6C18\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 2810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 6A080000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 6A280000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 6898\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0022 6E980010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0026 78106AA8\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002e 6C98\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0030 3810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0032 6A880000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0036 6AA80000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 16] then { pass $testname } else { fail $testname }}proc do_h8300h_movw {} { set testname "movwh.s: h8300h movw tests" set x 0 gas_start "movwh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 0D01\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 79000010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 6910\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 6F100010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 78106B20\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 6D10\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 6B000000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 6B200000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 6990\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0022 6F900010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0026 78106BA0\[^\n\]*\n +\[0-9\]+ +00000020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002e 6D90\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0030 6B800000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0034 6BA00000\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 14] then { pass $testname } else { fail $testname }}proc do_h8300h_movl {} { set testname "movlh.s: h8300h movl tests" set x 0 gas_start "movlh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 0F81\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 7A000000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 01006910\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 01006F10\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 01007810\[^\n\]*\n +\[0-9\]+ +6B200000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001c 01006D10\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 01006B00\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0026 01006B20\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002e 01006990\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0032 01006F90\[^\n\]*\n +\[0-9\]+ +0010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0038 01007890\[^\n\]*\n +\[0-9\]+ +6BA00000\[^\n\]*\n +\[0-9\]+ +0020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0042 01006D90\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0046 01006B80\[^\n\]*\n +\[0-9\]+ +0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 004c 01006BA0\[^\n\]*\n +\[0-9\]+ +00000000\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 14] then { pass $testname } else { fail $testname }}proc do_h8300h_pushpop {} { set testname "pushpoph.s: h8300h pushpop tests" set x 0 gas_start "pushpoph.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 6D70\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 01006D70\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 6DF0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 01006DF0\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 4] then { pass $testname } else { fail $testname }}proc do_h8300h_rotate_shift {} { set testname "rotshh.s: h8300h rotate and shift tests" set x 0 gas_start "rotshh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 1288\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 1290\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 12B0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 1388\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 1390\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 13B0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 1208\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 1210\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 1230\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 1308\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 1310\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 1330\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0018 1088\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 1090\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001c 10B0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001e 1188\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 1190\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0022 11B0\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0024 1008\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0026 1010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0028 1030\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002a 1108\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002c 1110\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002e 1130\[^\n\]*\n" { set x [expr $x+1] } eof { break } } } # This was intended to do any cleanup necessary. It kinda looks like it # isn't needed, but just in case, please keep it in for now. gas_finish # Did we find what we were looking for? If not, flunk it. if [expr $x == 24] then { pass $testname } else { fail $testname }}proc do_h8300h_extend {} { set testname "extendh.s: h8300h extend tests" set x 0 gas_start "extendh.s" "-al"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -