|
3 | 3 | # vim:ts=4:et: |
4 | 4 |
|
5 | 5 |
|
6 | | -class Opcode(object): |
| 6 | +class Opcode: |
7 | 7 | """ Describes opcodes and other info. |
8 | 8 | """ |
9 | | - |
10 | | - def __init__(self, asm, time, size, opcode): |
| 9 | + def __init__(self, asm: str, time: int, size: int, opcode: str): |
11 | 10 | self.asm = asm |
12 | 11 | self.T = time |
13 | 12 | self.size = size |
@@ -834,6 +833,37 @@ def __init__(self, asm, time, size, opcode): |
834 | 833 | "CP IXL": Opcode("CP IXL", 8, 2, "DD BD"), |
835 | 834 | "CP IYH": Opcode("CP IYH", 8, 2, "FD BC"), |
836 | 835 | "CP IYL": Opcode("CP IYL", 8, 2, "FD BD"), |
| 836 | + |
| 837 | + # ZX NEXT extra opcodes |
| 838 | + "LDIX": Opcode("LDIX", 16, 2, "ED A4"), |
| 839 | + "LDWS": Opcode("LDWS", 14, 2, "ED A5"), |
| 840 | + "LDIRX": Opcode("LDIRX", 21, 2, "ED B4"), |
| 841 | + "LDDX": Opcode("LDDX", 16, 2, "ED AC"), |
| 842 | + "LDDRX": Opcode("LDDRX", 21, 2, "ED BC"), |
| 843 | + "LDPIRX": Opcode("LDPIRX", 21, 2, "ED B7"), |
| 844 | + "OUTINB": Opcode("OUTINB", 16, 2, "ED 90"), |
| 845 | + "MUL D,E": Opcode("MUL D,E", 8, 2, "ED 30"), |
| 846 | + "ADD HL,A": Opcode("ADD HL,A", 8, 2, "ED 31"), |
| 847 | + "ADD DE,A": Opcode("ADD DE,A", 8, 2, "ED 32"), |
| 848 | + "ADD BC,A": Opcode("ADD BC,A", 8, 2, "ED 33"), |
| 849 | + "ADD HL,NN": Opcode("ADD HL,NN", 16, 4, "ED 34 XX XX"), |
| 850 | + "ADD DE,NN": Opcode("ADD DE,NN", 16, 4, "ED 35 XX XX"), |
| 851 | + "ADD BC,NN": Opcode("ADD BC,NN", 16, 4, "ED 36 XX XX"), |
| 852 | + "SWAPNIB": Opcode("SWAPNIB", 8, 2, "ED 23"), |
| 853 | + "MIRROR": Opcode("MIRROR", 8, 2, "ED 24"), |
| 854 | + "PUSH NN": Opcode("PUSH NN", 23, 4, "ED 8A XX XX"), |
| 855 | + "NEXTREG N,N": Opcode("NEXTREG N,N", 20, 4, "ED 91 XX XX"), |
| 856 | + "NEXTREG N,A": Opcode("NEXTREG N,A", 17, 3, "ED 92 XX"), |
| 857 | + "PIXELDN": Opcode("PIXELDN", 8, 2, "ED 93"), |
| 858 | + "PIXELAD": Opcode("PIXELAD", 8, 2, "ED 94"), |
| 859 | + "SETAE": Opcode("SETAE", 8, 2, "ED 95"), |
| 860 | + "TEST N": Opcode("TEST N", 11, 3, "ED 27 XX"), |
| 861 | + "BSLA DE,B": Opcode("BSLA DE,B", 8, 2, "ED 28"), |
| 862 | + "BSRA DE,B": Opcode("BSRA DE,B", 8, 2, "ED 29"), |
| 863 | + "BSRL DE,B": Opcode("BSRL DE,B", 8, 2, "ED 2A"), |
| 864 | + "BSRF DE,B": Opcode("BSRF DE,B", 8, 2, "ED 2B"), |
| 865 | + "BRLC DE,B": Opcode("BRLC DE,B", 8, 2, "ED 2C"), |
| 866 | + "JP (C)": Opcode("JP (C)", 13, 2, "ED 98"), |
837 | 867 | } |
838 | 868 |
|
839 | 869 |
|
|
0 commit comments