| 399 | } |
| 400 | |
| 401 | func TestIOInstructionsString(t *testing.T) { |
| 402 | var TABLE map[Instruction]string = map[Instruction]string{ |
| 403 | IN{DATA_MODE, REG0}: "IN Data, R0", |
| 404 | IN{DATA_MODE, REG1}: "IN Data, R1", |
| 405 | IN{DATA_MODE, REG2}: "IN Data, R2", |
| 406 | IN{DATA_MODE, REG3}: "IN Data, R3", |
| 407 | |
| 408 | OUT{DATA_MODE, REG0}: "OUT Data, R0", |
| 409 | OUT{DATA_MODE, REG1}: "OUT Data, R1", |
| 410 | OUT{DATA_MODE, REG2}: "OUT Data, R2", |
| 411 | OUT{DATA_MODE, REG3}: "OUT Data, R3", |
| 412 | |
| 413 | IN{ADDRESS_MODE, REG0}: "IN Addr, R0", |
| 414 | IN{ADDRESS_MODE, REG1}: "IN Addr, R1", |
| 415 | IN{ADDRESS_MODE, REG2}: "IN Addr, R2", |
| 416 | IN{ADDRESS_MODE, REG3}: "IN Addr, R3", |
| 417 | |
| 418 | OUT{ADDRESS_MODE, REG0}: "OUT Addr, R0", |
| 419 | OUT{ADDRESS_MODE, REG1}: "OUT Addr, R1", |
| 420 | OUT{ADDRESS_MODE, REG2}: "OUT Addr, R2", |
| 421 | OUT{ADDRESS_MODE, REG3}: "OUT Addr, R3", |
| 422 | } |
| 423 | |
| 424 | for ins, expected := range TABLE { |
| 425 | if ins.String() != expected { |
| 426 | t.Logf("Expected %s got %s when testing %s", expected, ins.String(), ins) |
| 427 | t.FailNow() |
| 428 | } |
| 429 | } |
| 430 | } |
| 431 | func TestIOInstructions(t *testing.T) { |
| 432 | var TABLE map[Instruction][]uint16 = map[Instruction][]uint16{ |
| 433 | IN{DATA_MODE, REG0}: []uint16{0x70}, |