\ 1802optable

needs 1802opcodes1
needs 1802opcodes2
needs 1802opcodes3
hex

: do-opcode  ( opcode -- )
dup select
xt #IDL \ 00
xt #LDN \ 01
xt #LDN \ 02
xt #LDN \ 03
xt #LDN \ 04
xt #LDN \ 05
xt #LDN \ 06
xt #LDN \ 07
xt #LDN \ 08
xt #LDN \ 09
xt #LDN \ 0A
xt #LDN \ 0B
xt #LDN \ 0C
xt #LDN \ 0D
xt #LDN \ 0E
xt #LDN \ 0F

xt #INC \ 10
xt #INC \ 11
xt #INC \ 12
xt #INC \ 13
xt #INC \ 14
xt #INC \ 15
xt #INC \ 16
xt #INC \ 17
xt #INC \ 18
xt #INC \ 19
xt #INC \ 1A
xt #INC \ 1B
xt #INC \ 1C
xt #INC \ 1D
xt #INC \ 1E
xt #INC \ 1F

xt #DEC \ 20
xt #DEC \ 21
xt #DEC \ 22
xt #DEC \ 23
xt #DEC \ 24
xt #DEC \ 25
xt #DEC \ 26
xt #DEC \ 27
xt #DEC \ 28
xt #DEC \ 29
xt #DEC \ 2A
xt #DEC \ 2B
xt #DEC \ 2C
xt #DEC \ 2D
xt #DEC \ 2E
xt #DEC \ 2F

xt #BR \ 30
xt #BQ \ 31
xt #BZ \ 32
xt #BDF \ 33
xt #B1 \ 34
xt #B2 \ 35
xt #B3 \ 36
xt #B4 \ 37
xt #SKP \ 38
xt #BNQ \ 39
xt #BNZ \ 3A
xt #BNF \ 3B
xt #BN1 \ 3C
xt #BN2 \ 3D
xt #BN3 \ 3E
xt #BN4 \ 3F

xt #LDA \ 40
xt #LDA \ 41
xt #LDA \ 42
xt #LDA \ 43
xt #LDA \ 44
xt #LDA \ 45
xt #LDA \ 46
xt #LDA \ 47
xt #LDA \ 48
xt #LDA \ 49
xt #LDA \ 4A
xt #LDA \ 4B
xt #LDA \ 4C
xt #LDA \ 4D
xt #LDA \ 4E
xt #LDA \ 4F

xt #STR \ 50
xt #STR \ 51
xt #STR \ 52
xt #STR \ 53
xt #STR \ 54
xt #STR \ 55
xt #STR \ 56
xt #STR \ 57
xt #STR \ 58
xt #STR \ 59
xt #STR \ 5A
xt #STR \ 5B
xt #STR \ 5C
xt #STR \ 5D
xt #STR \ 5E
xt #STR \ 5F

xt #IRX \ 60
xt #OUT \ 61
xt #OUT \ 62
xt #OUT \ 63
xt #OUT \ 64
xt #OUT \ 65
xt #OUT \ 66
xt #OUT \ 67
xt #INVALID \ 68
xt #INP \ 69
xt #INP \ 6A
xt #INP \ 6B
xt #INP \ 6C
xt #INP \ 6D
xt #INP \ 6E
xt #INP \ 6F

xt #RET \ 70
xt #DIS \ 71
xt #LDXA \ 72
xt #STXD \ 73
xt #ADC \ 74
xt #SDB \ 75
xt #SHRC \ 76
xt #SMB \ 77
xt #SAV \ 78
xt #MARK \ 79
xt #REQ \ 7A
xt #SEQ \ 7B
xt #ADCI \ 7C
xt #SDBI \ 7D
xt #SHLC \ 7E
xt #SMBI \ 7F

xt #GLO \ 80
xt #GLO \ 81
xt #GLO \ 82
xt #GLO \ 83
xt #GLO \ 84
xt #GLO \ 85
xt #GLO \ 86
xt #GLO \ 87
xt #GLO \ 88
xt #GLO \ 89
xt #GLO \ 8A
xt #GLO \ 8B
xt #GLO \ 8C
xt #GLO \ 8D
xt #GLO \ 8E
xt #GLO \ 8F

xt #GHI \ 90
xt #GHI \ 91
xt #GHI \ 92
xt #GHI \ 93
xt #GHI \ 94
xt #GHI \ 95
xt #GHI \ 96
xt #GHI \ 97
xt #GHI \ 98
xt #GHI \ 99
xt #GHI \ 9A
xt #GHI \ 9B
xt #GHI \ 9C
xt #GHI \ 9D
xt #GHI \ 9E
xt #GHI \ 9F

xt #PLO \ A0
xt #PLO \ A1
xt #PLO \ A2
xt #PLO \ A3
xt #PLO \ A4
xt #PLO \ A5
xt #PLO \ A6
xt #PLO \ A7
xt #PLO \ A8
xt #PLO \ A9
xt #PLO \ AA
xt #PLO \ AB
xt #PLO \ AC
xt #PLO \ AD
xt #PLO \ AE
xt #PLO \ AF

xt #PHI \ B0
xt #PHI \ B1
xt #PHI \ B2
xt #PHI \ B3
xt #PHI \ B4
xt #PHI \ B5
xt #PHI \ B6
xt #PHI \ B7
xt #PHI \ B8
xt #PHI \ B9
xt #PHI \ BA
xt #PHI \ BB
xt #PHI \ BC
xt #PHI \ BD
xt #PHI \ BE
xt #PHI \ BF

xt #LBR \ C0
xt #LBQ \ C1
xt #LBZ \ C2
xt #LBDF \ C3
xt #NOP \ C4
xt #LSNQ \ C5
xt #LSNZ \ C6
xt #LSNF \ C7
xt #LSKP \ C8
xt #LBNQ \ C9
xt #LBNZ \ CA
xt #LBNF \ CB
xt #LSIE \ CC
xt #LSQ \ CD
xt #LSZ \ CE
xt #LSDF \ CF

xt #SEP \ D0
xt #SEP \ D1
xt #SEP \ D2
xt #SEP \ D3
xt #SEP \ D4
xt #SEP \ D5
xt #SEP \ D6
xt #SEP \ D7
xt #SEP \ D8
xt #SEP \ D9
xt #SEP \ DA
xt #SEP \ DB
xt #SEP \ DC
xt #SEP \ DD
xt #SEP \ DE
xt #SEP \ DF

xt #SEX \ E0
xt #SEX \ E1
xt #SEX \ E2
xt #SEX \ E3
xt #SEX \ E4
xt #SEX \ E5
xt #SEX \ E6
xt #SEX \ E7
xt #SEX \ E8
xt #SEX \ E9
xt #SEX \ EA
xt #SEX \ EB
xt #SEX \ EC
xt #SEX \ ED
xt #SEX \ EE
xt #SEX \ EF

xt #LDX \ F0
xt #OR \ F1
xt #AND \ F2
xt #XOR \ F3
xt #ADD \ F4
xt #SD \ F5
xt #SHR \ F6
xt #SM \ F7
xt #LDI \ F8
xt #ORI \ F9
xt #ANI \ FA
xt #XRI \ FB
xt #ADI \ FC
xt #SDI \ FD
xt #SHL \ FE
xt #SMI \ FF
end-select execute ;

