| 1 | <?php |
| 2 | namespace Std\Lib\Syntax; |
| 3 | |
| 4 | /** |
| 5 | * 6502・65C02 |
| 6 | */ |
| 7 | class Asm6502 extends Assembly { |
| 8 | protected string $identifier = '[.A-Za-z_@][\w.$]*'; |
| 9 | |
| 10 | protected array $tokens = [ |
| 11 | 'register' => [ |
| 12 | 'a', 'x', 'y', 's', 'p', |
| 13 | ], |
| 14 | 'instruction' => [ |
| 15 | 'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi', 'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', 'clv', |
| 16 | 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor', 'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy', 'lsr', 'nop', |
| 17 | 'ora', 'pha', 'php', 'pla', 'plp', 'rol', 'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta', 'stx', 'sty', |
| 18 | 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya', |
| 19 | // 65C02 |
| 20 | 'bra', 'phx', 'phy', 'plx', 'ply', 'stz', 'trb', 'tsb', 'stp', 'wai', |
| 21 | 'bbr0', 'bbr1', 'bbr2', 'bbr3', 'bbr4', 'bbr5', 'bbr6', 'bbr7', 'bbs0', 'bbs1', 'bbs2', 'bbs3', 'bbs4', 'bbs5', 'bbs6', 'bbs7', |
| 22 | 'rmb0', 'rmb1', 'rmb2', 'rmb3', 'rmb4', 'rmb5', 'rmb6', 'rmb7', 'smb0', 'smb1', 'smb2', 'smb3', 'smb4', 'smb5', 'smb6', 'smb7', |
| 23 | ], |
| 24 | 'directive' => [ |
| 25 | 'org', 'equ', 'db', 'dw', 'ds', 'byte', 'word', 'include', 'incbin', 'macro', 'endm', 'if', 'else', 'endif', |
| 26 | ], |
| 27 | ]; |
| 28 | } |