@@ -61,7 +61,11 @@ void test_accumlator() {
61
61
TEST (" LIS 15" , 0x7F );
62
62
ERRT (" LIS 16" , OVERFLOW_RANGE, " 16" , 0x70 );
63
63
TEST (" LI 0" , 0x20 , 0x00 );
64
+ TEST (" LI -1" , 0x20 , 0xFF );
65
+ TEST (" LI -128" , 0x20 , 0x80 );
64
66
TEST (" LI H'FF'" , 0x20 , 0xFF );
67
+ ERRT (" LI 256" , OVERFLOW_RANGE, " 256" , 0x20 , 0x00 );
68
+ ERRT (" LI -129" , OVERFLOW_RANGE, " -129" , 0x20 , 0x7F );
65
69
TEST (" NI 1" , 0x21 , 0x01 );
66
70
TEST (" NI -D'2'" , 0x21 , 0xFE );
67
71
TEST (" OI $FE" , 0x22 , 0xFE );
@@ -209,6 +213,8 @@ void test_branch() {
209
213
ATEST (0x1000 , " BT 5, H'1002'" , 0x85 , 0x01 );
210
214
ATEST (0x1000 , " BT 6, H'1002'" , 0x86 , 0x01 );
211
215
ATEST (0x1000 , " BT 7, H'1002'" , 0x87 , 0x01 );
216
+ AERRT (0x1000 , " BT 8, H'1002'" , OVERFLOW_RANGE, " 8, H'1002'" , 0x80 , 0x01 );
217
+ AERRT (0x1000 , " BT -1, H'1002'" , OVERFLOW_RANGE, " -1, H'1002'" , 0x87 , 0x01 );
212
218
ATEST (0x1000 , " BR7 H'1002'" , 0x8F , 0x01 );
213
219
214
220
ATEST (0x1000 , " BR H'1002'" , 0x90 , 0x01 );
@@ -228,6 +234,8 @@ void test_branch() {
228
234
ATEST (0x1000 , " BF 14, H'1002'" , 0x9E , 0x01 );
229
235
ATEST (0x1000 , " BF 15, H'1002'" , 0x9F , 0x01 );
230
236
ATEST (0x1000 , " BF 15, *+H'80'" , 0x9F , 0x7F );
237
+ AERRT (0x1000 , " BF 16, H'1002'" , OVERFLOW_RANGE, " 16, H'1002'" , 0x90 , 0x01 );
238
+ AERRT (0x1000 , " BF -1, H'1002'" , OVERFLOW_RANGE, " -1, H'1002'" , 0x9F , 0x01 );
231
239
}
232
240
233
241
void test_io () {
@@ -243,6 +251,8 @@ void test_io() {
243
251
ERRT (" IN 3" , OPERAND_NOT_ALLOWED, " 3" , 0x26 , 0x03 );
244
252
TEST (" IN 4" , 0x26 , 0x04 );
245
253
TEST (" IN H'FF'" , 0x26 , 0xFF );
254
+ ERRT (" IN 256" , OVERFLOW_RANGE, " 256" , 0x26 , 0x00 );
255
+ ERRT (" IN -1" , OVERFLOW_RANGE, " -1" , 0x26 , 0xFF );
246
256
TEST (" OUTS 0" , 0xB0 );
247
257
TEST (" OUTS 1" , 0xB1 );
248
258
ERRT (" OUTS 2" , OPERAND_NOT_ALLOWED, " 2" , 0xB2 );
@@ -254,7 +264,9 @@ void test_io() {
254
264
ERRT (" OUT 2" , OPERAND_NOT_ALLOWED, " 2" , 0x27 , 0x02 );
255
265
ERRT (" OUT 3" , OPERAND_NOT_ALLOWED, " 3" , 0x27 , 0x03 );
256
266
TEST (" OUT 4" , 0x27 , 0x04 );
257
- TEST (" OUT H'AB'" , 0x27 , 0xAB );
267
+ TEST (" OUT 255" , 0x27 , 0xFF );
268
+ ERRT (" OUT 256" , OVERFLOW_RANGE, " 256" , 0x27 , 0x00 );
269
+ ERRT (" OUT -1" , OVERFLOW_RANGE, " -1" , 0x27 , 0xFF );
258
270
}
259
271
260
272
void test_control () {
0 commit comments