📄 h8300.exp
字号:
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 == 3] then { pass $testname } else { fail $testname }}proc do_h8300_decimal {} { set testname "decimal.s: h8300 decimal tests" set x 0 gas_start "decimal.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 0F08\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 1F08\[^\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 == 2] then { pass $testname } else { fail $testname }}proc do_h8300_incdec {} { set testname "incdec.s: h8300 incdec tests" set x 0 gas_start "incdec.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 0A08\[^\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 == 2] then { pass $testname } else { fail $testname }}proc do_h8300_divmul {} { set testname "divmul.s: h8300 divmul tests" set x 0 gas_start "divmul.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 5081\[^\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 == 2] then { pass $testname } else { fail $testname }}proc do_h8300_misc {} { set testname "misc.s: h8300 misc tests" set x 0 gas_start "misc.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 0700\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 0308\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 0000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 5670\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 5470\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 0180\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 0208\[^\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 } setup_xfail "h8300*-*-*" fail "h8300 movfpe/movtpe tests"}proc do_h8300_movb {} { set testname "movb.s: h8300 movb tests" set x 0 gas_start "movb.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 6C18\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 2810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 6A080000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 6898\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 6E980010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0018 6C98\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 3810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001c 6A880000\[^\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 == 12] then { pass $testname } else { fail $testname }}proc do_h8300_movw {} { set testname "movw.s: h8300 movw tests" set x 0 gas_start "movw.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 6D10\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 6B000000\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 6990\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 6F900010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0018 6D90\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 6B800000\[^\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_h8300_pushpop {} { set testname "pushpop.s: h8300 pushpop tests" set x 0 gas_start "pushpop.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 6DF0\[^\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 == 2] then { pass $testname } else { fail $testname }}proc do_h8300_rotate_shift {} { set testname "rotsh.s: h8300 rotate and shift tests" set x 0 gas_start "rotsh.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 1388\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 1208\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0006 1308\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 1088\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 1188\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000c 1008\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000e 1108\[^\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_add_sub {} { set testname "addsubh.s: h8300h add/sub tests" set x 0 gas_start "addsubh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 8910\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 0819\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 79110020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 0912\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 7A110000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 0A92\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0012 0B04\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 0B85\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 0B96\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0018 0E89\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 9210\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001c 1889\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001e 79310010\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0022 1901\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0024 7A310000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002a 1A92\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002c 1B04\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002e 1B85\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0030 1B96\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0032 1E89\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0034 B210\[^\n\]*\n" { set x [expr $x+1] } timeout { perror "timeout\n; break } 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 }}proc do_h8300h_logical {} { set testname "logicalh.s: h8300h logical tests" set x 0 gas_start "logicalh.s" "-al" # Check each instruction bit pattern to verify it got # assembled correctly. while 1 { expect { -re " +\[0-9\]+ 0000 E910\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0002 1691\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0004 79610020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0008 6611\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 000a 7A610000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0010 01F06611\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0014 0610\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0016 C810\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0018 1498\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001a 79410020\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 001e 6411\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0020 7A410000\[^\n\]*\n +\[0-9\]+ +0040\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 0026 01F06411\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002a 0410\[^\n\]*\n" { set x [expr $x+1] } -re " +\[0-9\]+ 002c D810\[^\n\]*\n" { set x [expr $x+1] }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -