📄 basic.exp
字号:
-re "^ +\[0-9\]+ 0098 08A4CEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 009c 08A4EEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a0 08A41EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a4 08A43EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a8 08A45EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00ac 08A47EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b0 08A49EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b4 08A4BEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b8 08A4DEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00bc 08A4FEC6\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } 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==48] then { pass $testname } else { fail $testname }}proc do_shladd {} { set testname "shladd.s: shladd tests" set x 0 gas_start "shladd.s" "-al" # Check the assembled instruction against a table built by the HP assembler # Any differences should be checked by hand -- with the number of problems # I've seen in the HP assembler I don't completely trust it. # # Instead of having a variable for each match string just increment the # total number of matches seen. That's simpler when testing large numbers # of instructions (as these tests to). while 1 { expect { -re "^ +\[0-9\]+ 0000 08A40646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0004 08A42646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0008 08A44646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000c 08A46646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0010 08A48646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0014 08A4A646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0018 08A4C646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001c 08A4E646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0020 08A41646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0024 08A43646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0028 08A45646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 002c 08A47646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0030 08A49646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0034 08A4B646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0038 08A4D646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 003c 08A4F646\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0040 08A40A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0044 08A42A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0048 08A44A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 004c 08A46A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0050 08A48A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0054 08A4AA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0058 08A4CA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 005c 08A4EA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0060 08A41A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0064 08A43A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0068 08A45A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 006c 08A47A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0070 08A49A46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0074 08A4BA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0078 08A4DA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 007c 08A4FA46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0080 08A40E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0084 08A42E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0088 08A44E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 008c 08A46E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0090 08A48E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0094 08A4AE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0098 08A4CE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 009c 08A4EE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a0 08A41E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a4 08A43E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00a8 08A45E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00ac 08A47E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b0 08A49E46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b4 08A4BE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00b8 08A4DE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00bc 08A4FE46\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00c0 08A40686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00c4 08A42686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00c8 08A44686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00cc 08A46686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00d0 08A48686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00d4 08A4A686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00d8 08A4C686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00dc 08A4E686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00e0 08A41686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00e4 08A43686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00e8 08A45686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00ec 08A47686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00f0 08A49686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00f4 08A4B686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00f8 08A4D686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 00fc 08A4F686\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0100 08A40A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0104 08A42A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0108 08A44A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 010c 08A46A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0110 08A48A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0114 08A4AA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0118 08A4CA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 011c 08A4EA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0120 08A41A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0124 08A43A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0128 08A45A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 012c 08A47A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0130 08A49A86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0134 08A4BA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0138 08A4DA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 013c 08A4FA86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0140 08A40E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0144 08A42E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0148 08A44E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 014c 08A46E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0150 08A48E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0154 08A4AE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0158 08A4CE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 015c 08A4EE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0160 08A41E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0164 08A43E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0168 08A45E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 016c 08A47E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0170 08A49E86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0174 08A4BE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0178 08A4DE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 017c 08A4FE86\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0180 08A406C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0184 08A426C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0188 08A446C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 018c 08A466C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0190 08A486C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0194 08A4A6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0198 08A4C6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 019c 08A4E6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01a0 08A416C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01a4 08A436C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01a8 08A456C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01ac 08A476C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01b0 08A496C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01b4 08A4B6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01b8 08A4D6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01bc 08A4F6C6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01c0 08A40AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01c4 08A42AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01c8 08A44AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01cc 08A46AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01d0 08A48AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01d4 08A4AAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01d8 08A4CAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01dc 08A4EAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01e0 08A41AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01e4 08A43AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01e8 08A45AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01ec 08A47AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01f0 08A49AC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01f4 08A4BAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01f8 08A4DAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 01fc 08A4FAC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0200 08A40EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0204 08A42EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0208 08A44EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 020c 08A46EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0210 08A48EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0214 08A4AEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0218 08A4CEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 021c 08A4EEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0220 08A41EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0224 08A43EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0228 08A45EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 022c 08A47EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0230 08A49EC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0234 08A4BEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0238 08A4DEC6\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 023c 08A4FEC6\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } 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==144] then { pass $testname } else { fail $testname }}proc do_shladd2 {} { set testname "shladd2.s: shladd2 tests" set x 0 gas_start "shladd2.s" "-al" # Check the assembled instruction against a table built by the HP assembler # Any differences should be checked by hand -- with the number of problems # I've seen in the HP assembler I don't completely trust it. # # Instead of having a variable for each match string just increment the # total number of matches seen. That's simpler when testing large numbers # of instructions (as these tests to). while 1 { expect { -re "^ +\[0-9\]+ 0000 08A40666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0004 08A42666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0008 08A44666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000c 08A46666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0010 08A48666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0014 08A4A666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0018 08A4C666\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001c 08A4E666\[^\n\]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -