└── z80asm
├── Default.sublime-keymap
├── Main.sublime-menu
├── README.md
├── Symbol List.JSON-tmPreferences
├── Symbol List.tmPreferences
├── build.bat
├── buildrun.bat
├── helps
├── Basic Symbols
└── Z80 Opcodes
├── readme.png
├── run.bat
├── snippets
├── ---.sublime-snippet
├── bank.sublime-snippet
├── basexit.sublime-snippet
├── basic.sublime-snippet
├── border.sublime-snippet
├── cls.sublime-snippet
├── clsa.sublime-snippet
├── clsr.sublime-snippet
├── down.sublime-snippet
├── downs.sublime-snippet
├── fontaddr.sublime-snippet
├── fontpr.sublime-snippet
├── im2.sublime-snippet
├── init.sublime-snippet
├── interr.sublime-snippet
├── loadsec.sublime-snippet
├── loop_bc.sublime-snippet
├── loop_djnz.sublime-snippet
├── m128.sublime-snippet
├── macro.sublime-snippet
├── module.sublime-snippet
├── pp.sublime-snippet
├── savebin.sublime-snippet
├── savesna.sublime-snippet
├── savesp.sublime-snippet
├── savetrd.sublime-snippet
├── shutay.sublime-snippet
├── spr.sublime-snippet
├── struct.sublime-snippet
├── up.sublime-snippet
├── ups.sublime-snippet
├── waitany.sublime-snippet
├── waitenter.sublime-snippet
├── waitnokey.sublime-snippet
└── waitspace.sublime-snippet
├── z80asm (breeze).JSON-tmTheme
├── z80asm (breeze).tmTheme
├── z80asm.JSON-tmLanguage
├── z80asm.JSON-tmPreferences
├── z80asm.JSON-tmTheme
├── z80asm.about
├── z80asm.py
├── z80asm.quickhelp
├── z80asm.sublime-build
├── z80asm.sublime-settings
├── z80asm.tmLanguage
├── z80asm.tmPreferences
└── z80asm.tmTheme
/z80asm/Default.sublime-keymap:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "keys": ["f1"], "command": "a80_quick_help",
4 | "context": [
5 | {
6 | "operand": "source.z80asm",
7 | "operator": "equal",
8 | "key": "selector"
9 | }
10 | ]
11 | }
12 | ]
13 |
--------------------------------------------------------------------------------
/z80asm/Main.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 |
3 | {
4 | "caption": "Z80Asm",
5 | "mnemonic": "Z",
6 | "id": "z80asm",
7 | "children":
8 | [
9 | { "command": "", "caption": "New", "mnemonic": "N",
10 | "children":
11 | [
12 | { "command": "a80_do_cmd", "args": {"cmd":"NewCode"}, "caption": "Code", "mnemonic": "C" },
13 | { "command": "a80_do_cmd", "args": {"cmd":"NewBasic"}, "caption": "Basic loader", "mnemonic": "B" }
14 | ]
15 | },
16 |
17 | { "caption": "-"},
18 | { "command": "a80_do_cmd", "args": {"cmd":"Build"}, "caption": "Build", "mnemonic": "B" },
19 | { "command": "a80_do_cmd", "args": {"cmd":"Run"}, "caption": "Run", "mnemonic": "R" },
20 | { "command": "a80_do_cmd", "args": {"cmd":"Build_Run"}, "caption": "Build and Run", "mnemonic": "u" },
21 |
22 | { "caption": "-"},
23 | { "command": "a80_do_cmd", "args": {"cmd":"AFormat"}, "caption": "Auto-format", "mnemonic": "A" },
24 | { "command": "a80_do_cmd", "args": {"cmd":"JLine"}, "caption": "Join lines", "mnemonic": "J" },
25 | { "command": "a80_do_cmd", "args": {"cmd":"Sline"}, "caption": "Split line", "mnemonic": "S" },
26 | { "command": "", "caption": "Syntax convert", "mnemonic": "y",
27 | "children":
28 | [
29 | { "command": "a80_do_cmd", "args": {"cmd":"SynStorm"}, "caption": "From Storm", "mnemonic": "S" },
30 | { "command": "a80_do_cmd", "args": {"cmd":"SynAlasm"}, "caption": "From Alasm", "mnemonic": "A" }
31 | ]
32 | },
33 |
34 | { "caption": "-"},
35 |
36 | { "command": "", "caption": "Settings", "mnemonic": "e",
37 | "children":
38 | [
39 | { "command": "open_file", "args": {"file": "${packages}/z80asm/z80asm.sublime-settings"}, "caption": "Main settings...", "mnemonic": "M" },
40 | { "command": "open_file", "args": {"file": "${packages}/z80asm/z80asm.sublime-build"}, "caption": "Build settings...", "mnemonic": "B" },
41 | { "caption": "-"},
42 | { "command": "open_file", "args": {"file": "${packages}/z80asm/build.bat"}, "caption": "Build script (win)..." },
43 | { "command": "open_file", "args": {"file": "${packages}/z80asm/build.sh"}, "caption": "Build script (linux)..." },
44 | { "command": "open_file", "args": {"file": "${packages}/z80asm/build"}, "caption": "Build script (osx)..." },
45 | { "caption": "-"},
46 | { "command": "open_file", "args": {"file": "${packages}/z80asm/run.bat"}, "caption": "Emul script (win)..." },
47 | { "command": "open_file", "args": {"file": "${packages}/z80asm/run.sh"}, "caption": "Emul script (linux)..." },
48 | { "command": "open_file", "args": {"file": "${packages}/z80asm/run"}, "caption": "Emul script (osx)..." }
49 | ]
50 | },
51 |
52 | { "caption": "-"},
53 | { "command": "", "caption": "Help", "mnemonic": "H",
54 | "children":
55 | [
56 | { "command": "open_file", "args": {"file": "${packages}/z80asm/README.md"}, "caption": "Read me", "mnemonic": "R" },
57 | { "caption": "-"},
58 | {"command": "a80_help", "args": {"indx":0}},
59 | {"command": "a80_help", "args": {"indx":1}},
60 | {"command": "a80_help", "args": {"indx":2}},
61 | {"command": "a80_help", "args": {"indx":3}},
62 | {"command": "a80_help", "args": {"indx":4}},
63 | {"command": "a80_help", "args": {"indx":5}},
64 | {"command": "a80_help", "args": {"indx":6}},
65 | {"command": "a80_help", "args": {"indx":7}},
66 | {"command": "a80_help", "args": {"indx":8}},
67 | {"command": "a80_help", "args": {"indx":9}}
68 | ]
69 | },
70 |
71 | { "caption": "-"},
72 | { "command": "open_file", "args": {"file": "${packages}/z80asm/z80asm.about"}, "caption": "About...", "mnemonic": "t" }
73 |
74 | ]
75 | }
76 |
77 | ]
78 |
--------------------------------------------------------------------------------
/z80asm/README.md:
--------------------------------------------------------------------------------
1 | # [Z80 Asm plugin for Sublime Text 2/3](https://github.com/psbhlw/sublime-text-z80asm)
2 | ---
3 |
4 | ## Product Info
5 |
6 | This plugin contains syntax definition for Z80 assembler language, code snippets (mostly for ZX-Spectrum), its own shiny color theme. Building system is mainly oriented on [SjASMPlus](http://sourceforge.net/projects/sjasmplus/) assembler and [Unreal Speccy](http://dlcorp.nedopc.com/viewforum.php?f=27) emulator. But of course you can use your own tools with a little fixes to configs.
7 |
8 | 
9 |
10 | ---
11 |
12 | ## Installation and configuration
13 |
14 | 1. Copy the `z80asm` directory to the Sublime Text `Packages` directory. Installation is complete.
15 | 2. (Optional, see below) Go to the `Z80Asm > Settings > Build script...` menu and specify a path to your sjasmplus binary. You also can add your own arguments to sjasmplus.
16 | 3. (Optional, see below) Go to the `Z80Asm > Settings > Emul script...` menu and specify a path to your UnrealSpeccy binary. You also can modify the way the emulator starts.
17 | 4. Go to the `Tools > Build System` menu and select the `z80asm` item.
18 |
19 | ---
20 |
21 | ## Features
22 |
23 | #### Color scheme
24 |
25 | This plugin contains its own color scheme `z80asm.tmTheme` based on Monokai theme. There are some `*.asm` scope selectors with specific colors for assembler tokens. You can tune it on your own taste or integrate it into any other theme. If you don't want any special theme for Z80 Asm - go to the `Z80Asm > Settings > Main settings...` menu and comment the `"color_scheme": "Packages/z80asm/z80asm.tmTheme",` line out.
26 |
27 | #### Build system
28 |
29 | Sublime Text build system is defined in the `z80asm.sublime-build` file (`Z80Asm > Settings > Build settings...`). This definition file will run an appropriate script for Windows/Linux/OSX system. It also defines `Run` and `Build and Run` actions.
30 |
31 | You can specify a path to assembler by `Z80Asm > Settings > Build script...` menu. The included script (`Z80Asm > Settings > Build script...`) performs a search for a `make.bat`/`make.sh` script in the project folder. If the script is found, it will be called (in this case you don't have to specify a path to assembler), otherwise assembler will run against the current file. Included script also removes the `.out` file which is often redundant. If you need this file - comment out the removal.
32 |
33 | #### Emulator support
34 |
35 | You can specify a path to emulator by `Z80Asm > Settings > Emul script...` menu. The included script attempts to do a search for an `emul.bat`/`emul.sh` script in the project folder. If the script is found, it will be called (in this case you don't have to specify a path to emulator), otherwise the emulator will run with `%asm_name%.sna` parameter or, if `.sna` is absent, with `.spg`/`.trd`/`.scl`/`.tap` parameters. So, to make things work, you must put the `emul.bat` or `emul.sh` script into the project folder, or your source file must create .sna/.spg/.trd/.scl/.tap with the same base name (hello.a80 -> hello.sna).
36 |
37 | #### Snippets
38 |
39 | There are a lot of useful snippets for ZX-Spectrum, you can trigger them by typing their name and pressing Tab:
40 |
41 | * --- - Delimiter
42 | * !basic - Basic monoloader skeleton
43 | * !basexit - Restore regs and return to Basic
44 | * !init - Skeleton for assembler
45 | * !im2 - Init IM 2 interrupt (create table)
46 | * !interr - Interrupt routine
47 | * !bank - Switch bank (#7ffd)
48 | * !loop_bc - BC loop
49 | * !loop_djnz - DJNZ loop
50 | * !m128 - Memory 48k/128k test
51 | * !pp - PUSH/POP pair
52 | * !savesp - Save and restore SP
53 | * !shutay - Shut up AY-Chip
54 | * !loadsec - Load sectors (TR-DOS, #3d13)
55 | * !border - Set border color
56 | * !cls - Clear screen
57 | * !clsa - Clear screen attributes
58 | * !clsr - Clear screen (reverse direction)
59 | * !down - Calc address of next screen line
60 | * !downs - Calc address of next screen line (subroutine)
61 | * !up - Calc address of prev screen line
62 | * !ups - Calc address of prev screen line (subroutine)
63 | * !fontaddr - Find character in font (8x8)
64 | * !fontpr - Print character
65 | * !spr - Print sprite
66 | * !waitany - Wait any key
67 | * !waitnokey - Wait all keys unpressed
68 | * !waitenter - Wait Enter key
69 | * !waitspace - Wait Space Key
70 | * !macro - Macro definition
71 | * !module - Module definition
72 | * !struct - Structure definition
73 | * !savetrd - Save binary block into .trd image
74 | * !savesna - Save .sna snapshot
75 | * !savebin - Save binary block
76 |
77 | #### Auto completion and Goto Symbol
78 |
79 | This plugin expands the auto completion feature to all opened tabs (instead of just current file). You can disable it in the settings (`Z80Asm > Settings > Main settings...`).
80 |
81 | You can use `Goto > Goto Symbol...` option to jump to the label definition. In Sublime Text 3 you also can use `Goto > Goto Symbol in Project...` to navigate through labels in the whole project.
82 |
83 | #### Help files
84 |
85 | In the `Z80Asm > Help` sub-menu you can find a few help files. Some of them are provided with the plugin, and you also can put your help file into `Packages/z80asm/helps/`, and it will appear in menu. There are maximum 10 files allowed.
86 |
87 | Also, you can call a quick help panel by pressing F1 where you can do a search through opcodes/mnemonics/timings.
88 |
89 | ---
90 |
91 | ## Support
92 |
93 | If you have a bug/feature request - please post it on [issue tracker](https://github.com/psbhlw/sublime-text-z80asm/issues).
94 |
95 | ---
96 |
97 | ## Thanks
98 |
99 | * breeze
100 | * introspec
101 | * key-jee
102 | * elf/2
103 | * Sean Young
104 |
105 | ---
106 |
107 | ## Copyright and license
108 |
109 | (c) 2013, psb^hlw.
110 |
111 | Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112 |
--------------------------------------------------------------------------------
/z80asm/Symbol List.JSON-tmPreferences:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Symbol List",
3 | "scope": "entity.name.label.def.asm",
4 | "settings": {
5 | "showInIndexedSymbolList": 1,
6 | "showInSymbolList": 1
7 | },
8 | "uuid": "46F06118-8CE4-4C95-A4C4-4507E056A597"
9 | }
10 |
--------------------------------------------------------------------------------
/z80asm/Symbol List.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Symbol List
7 | scope
8 | entity.name.label.def.asm
9 | settings
10 |
11 | showInIndexedSymbolList
12 | 1
13 | showInSymbolList
14 | 1
15 |
16 | uuid
17 | 46F06118-8CE4-4C95-A4C4-4507E056A597
18 |
19 |
20 |
--------------------------------------------------------------------------------
/z80asm/build.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | rem ----------------------------------------------------------------------------
3 | rem This script builds the source. At first it's search for make.bat in the
4 | rem project folder. If it's found - call it, otherwise run ASM against asm-file.
5 | rem Current directory at entry to this script is asm-file's directory.
6 | rem There are two input parameters:
7 | rem 1. filename (without path),
8 | rem 2. project file path.
9 | rem ----------------------------------------------------------------------------
10 |
11 | set ASM="R:\sjasmplus.exe"
12 |
13 | rem Check if file exists
14 | if not exist %1 (
15 | echo Source file not found!
16 | set errorlevel=1
17 | goto :end
18 | )
19 |
20 | rem Run external script from project folder if exists
21 | if exist "%2\make.bat" (
22 | chdir /d "%2"
23 | call "make.bat" %1 %2
24 | goto :end
25 | )
26 |
27 | rem Simple compile
28 | "%ASM%" %1
29 |
30 | rem Compile with listings, symbols, exports
31 | rem "%ASM%" --lst="%~dpn1.lst" --sym="%~dpn1.sym" --exp="%~dpn1.exp" %1
32 |
33 | rem Remove .out file
34 | if %errorlevel% neq 0 goto :end
35 | del "%~dpn1.out"
36 | set errorlevel=0
37 |
38 | :end
39 |
--------------------------------------------------------------------------------
/z80asm/buildrun.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | call "%~dp0\build.bat" %1 %2
3 |
4 | if %errorlevel% neq 0 goto :end
5 | call "%~dp0\run.bat" %1 %2
6 |
7 | :end
8 |
--------------------------------------------------------------------------------
/z80asm/helps/Basic Symbols:
--------------------------------------------------------------------------------
1 | Control codes
2 | -------------
3 |
4 | code input (keyb) output (screen)
5 | ------ ------------------ -------------------
6 | 0 00 cs/ss+cs/8
7 | 1 01 cs/ss+cs/9
8 | 2 02 cs/ss+8
9 | 3 03 cs/ss+9
10 | 4 04 cs/3 (True video)
11 | 5 05 cs/4 (Inv video)
12 | 6 06 cs/2 (caps lock) tab (PRINT ,)
13 | 7 07 cs/1 (Edit)
14 | 8 08 cs/5 (Left) backspace
15 | 9 09 cs/8 (Right)
16 | 10 0a cs/6 (Down)
17 | 11 0b cs/7 (Up)
18 | 12 0c cs/0 (Delete)
19 | 13 0d Enter cr+lf
20 | 14 0e cs/ss (Ext mode)
21 | 15 0f cs/9 (Graph mode)
22 | 16 10 cs/ss+0 INK
23 | 17 11 cs/ss+1 PAPER
24 | 18 12 cs/ss+2 FLASH
25 | 19 13 cs/ss+3 BRIGHT
26 | 20 14 cs/ss+4 INVERSE
27 | 21 15 cs/ss+5 OVER
28 | 22 16 cs/ss+6 AT
29 | 23 17 cs/ss+7 TAB
30 | 24 18 cs/ss+cs/0
31 | 25 19 cs/ss+cs/1
32 | 26 1a cs/ss+cs/2
33 | 27 1b cs/ss+cs/3
34 | 28 1c cs/ss+cs/4
35 | 29 1d cs/ss+cs/5
36 | 30 1e cs/ss+cs/6
37 | 31 1f cs/ss+cs/7
38 |
39 |
40 | User defined graphics (UDG)
41 | ---------------------------
42 |
43 | code char
44 | ------ ----
45 | 144 90 A
46 | 145 91 B
47 | 146 92 C
48 | 147 93 D
49 | 148 94 E
50 | 149 95 F
51 | 150 96 G
52 | 151 97 H
53 | 152 98 I
54 | 153 99 J
55 | 154 9a K
56 | 155 9b L
57 | 156 9c M
58 | 157 9d N
59 | 158 9e O
60 | 159 9f P
61 | 160 a0 Q
62 | 161 a1 R
63 | 162 a2 S
64 | 163 a3 T
65 | 164 a4 U
66 |
67 |
68 | Basic keywords
69 | --------------
70 |
71 | code keyword
72 | ------ -------
73 | 165 a5 RND
74 | 166 a6 INKEY$
75 | 167 a7 PI
76 | 168 a8 FN
77 | 169 a9 POINT
78 | 170 aa SCREEN$
79 | 171 ab ATTR
80 | 172 ac AT
81 | 173 ad TAB
82 | 174 ae VAL$
83 | 175 af CODE
84 | 176 b0 VAL
85 | 177 b1 LEN
86 | 178 b2 SIN
87 | 179 b3 COS
88 | 180 b4 TAN
89 | 181 b5 ASN
90 | 182 b6 ACS
91 | 183 b7 ATN
92 | 184 b8 LN
93 | 185 b9 EXP
94 | 186 ba INT
95 | 187 bb SOR
96 | 188 bc SGN
97 | 189 bd ABS
98 | 190 be PEEK
99 | 191 bf IN
100 | 192 c0 USR
101 | 193 c1 STR$
102 | 194 c2 CHR$
103 | 195 c3 NOT
104 | 196 c4 BIN
105 | 197 c5 OR
106 | 198 c6 AND
107 | 199 c7 <=
108 | 200 c8 >=
109 | 201 c9 <>
110 | 202 ca LINE
111 | 203 cb THEN
112 | 204 cc TO
113 | 205 cd STEP
114 | 206 ce DEF FN
115 | 207 cf CAT
116 | 208 d0 FORMAT
117 | 209 d1 MOVE
118 | 210 d2 ERASE
119 | 211 d3 OPEN #
120 | 212 d4 CLOSE #
121 | 213 d5 MERGE
122 | 214 d6 VERIFY
123 | 215 d7 BEEP
124 | 216 d8 CIRCLE
125 | 217 d9 INK
126 | 218 da PAPER
127 | 219 db FLASH
128 | 220 dc BRIGHT
129 | 221 dd INVERSE
130 | 222 de OVER
131 | 223 df OUT
132 | 224 e0 LPRINT
133 | 225 e1 LLIST
134 | 226 e2 STOP
135 | 227 e3 READ
136 | 228 e4 DATA
137 | 229 e5 RESTORE
138 | 230 e6 NEW
139 | 231 e7 BORDER
140 | 232 e8 CONTINUE
141 | 233 e9 DIM
142 | 234 ea REM
143 | 235 eb FOR
144 | 236 ec GO TO
145 | 237 ed GO SUB
146 | 238 ee INPUT
147 | 239 ef LOAD
148 | 240 f0 LIST
149 | 241 f1 LET
150 | 242 f2 PAUSE
151 | 243 f3 NEXT
152 | 244 f4 POKE
153 | 245 f5 PRINT
154 | 246 f6 PLOT
155 | 247 f7 RUN
156 | 248 f8 SAVE
157 | 249 f9 RANDOMIZE
158 | 250 fa IF
159 | 251 fb CLS
160 | 252 fc DRAW
161 | 253 fd CLEAR
162 | 254 fe RETURN
163 | 255 ff COPY
164 |
--------------------------------------------------------------------------------
/z80asm/readme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/psbhlw/sublime-text-z80asm/7dd9274fee64471fa51ceac67beb36fa8530f96e/z80asm/readme.png
--------------------------------------------------------------------------------
/z80asm/run.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | rem ----------------------------------------------------------------------------
3 | rem This script runs the emulator. At first it's search for emul.bat in the
4 | rem project folder. If it's found - call it, otherwise it will search for
5 | rem .sna/.spg/.trd/.scl/.tap and call EMUL with it.
6 | rem Current directory at entry to this script is asm-file's directory.
7 | rem There are two input parameters:
8 | rem 1. filename (without path),
9 | rem 2. project file path.
10 | rem ----------------------------------------------------------------------------
11 |
12 | set EMUL="R:\emul\emul.exe"
13 |
14 | rem Run external script from project folder if exists
15 | if exist "%2\emul.bat" (
16 | chdir /d "%2"
17 | call "emul.bat" %1 %2
18 | goto :end
19 | )
20 |
21 | rem Check if .sna file exists
22 | if exist "%~n1.sna" (
23 | "%EMUL%" "%~n1.sna"
24 | goto :end
25 | )
26 |
27 | rem Check if .spg file exists
28 | if exist "%~n1.spg" (
29 | "%EMUL%" "%~n1.spg"
30 | goto :end
31 | )
32 |
33 | rem Check if .trd file exists
34 | if exist "%~n1.trd" (
35 | "%EMUL%" "%~n1.trd"
36 | goto :end
37 | )
38 |
39 | rem Check if .scl file exists
40 | if exist "%~n1.scl" (
41 | "%EMUL%" "%~n1.scl"
42 | goto :end
43 | )
44 |
45 | rem Check if .tap file exists
46 | if exist "%~n1.tap" (
47 | "%EMUL%" "%~n1.tap"
48 | goto :end
49 | )
50 |
51 | echo No image file found!
52 |
53 | :end
54 |
--------------------------------------------------------------------------------
/z80asm/snippets/---.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | ---
8 |
9 | source.z80asm
10 | Z80 Asm: delimiter
11 |
12 |
--------------------------------------------------------------------------------
/z80asm/snippets/bank.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | !bank
10 |
11 | source.z80asm
12 | Z80 Asm: set bank
13 |
14 |
--------------------------------------------------------------------------------
/z80asm/snippets/basexit.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 | !basexit
14 |
15 | source.z80asm
16 | Z80 Asm: restore regs and exit to basic
17 |
18 |
--------------------------------------------------------------------------------
/z80asm/snippets/basic.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
28 |
29 | !basic
30 |
31 | source.z80asm
32 | Z80 Asm: basic loader skeleton
33 |
34 |
--------------------------------------------------------------------------------
/z80asm/snippets/border.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | !border
9 |
10 | source.z80asm
11 | Z80 Asm: set border color
12 |
13 |
--------------------------------------------------------------------------------
/z80asm/snippets/cls.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 | !cls
13 |
14 | source.z80asm
15 | Z80 Asm: clear screen
16 |
17 |
--------------------------------------------------------------------------------
/z80asm/snippets/clsa.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 | !clsa
13 |
14 | source.z80asm
15 | Z80 Asm: clear screen attributes
16 |
17 |
--------------------------------------------------------------------------------
/z80asm/snippets/clsr.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 | !clsr
13 |
14 | source.z80asm
15 | Z80 Asm: clear screen (reverse)
16 |
17 |
--------------------------------------------------------------------------------
/z80asm/snippets/down.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | !down
19 |
20 | source.z80asm
21 | Z80 Asm: next screen line address
22 |
23 |
--------------------------------------------------------------------------------
/z80asm/snippets/downs.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 | !downs
20 |
21 | source.z80asm
22 | Z80 Asm: next screen line address (sub)
23 |
24 |
--------------------------------------------------------------------------------
/z80asm/snippets/fontaddr.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | !fontaddr
12 |
13 | source.z80asm
14 | Z80 Asm: calc address in font
15 |
16 |
--------------------------------------------------------------------------------
/z80asm/snippets/fontpr.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | !fontpr
16 |
17 | source.z80asm
18 | Z80 Asm: print char
19 |
20 |
--------------------------------------------------------------------------------
/z80asm/snippets/im2.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 | !im2
23 |
24 | source.z80asm
25 | Z80 Asm: im2 init
26 |
27 |
--------------------------------------------------------------------------------
/z80asm/snippets/init.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | !init
16 |
17 | source.z80asm
18 | Z80 Asm: a80 skeleton
19 |
20 |
--------------------------------------------------------------------------------
/z80asm/snippets/interr.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | !int
16 |
17 | source.z80asm
18 | Z80 Asm: interrupt routine
19 |
20 |
--------------------------------------------------------------------------------
/z80asm/snippets/loadsec.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | !loadsec
12 |
13 | source.z80asm
14 | Z80 Asm: load sectors (#3d13)
15 |
16 |
--------------------------------------------------------------------------------
/z80asm/snippets/loop_bc.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 | !loop_bc
14 |
15 | source.z80asm
16 | Z80 Asm: loop
17 |
18 |
--------------------------------------------------------------------------------
/z80asm/snippets/loop_djnz.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 | !loop_djnz
11 |
12 | source.z80asm
13 | Z80 Asm: loop
14 |
15 |
--------------------------------------------------------------------------------
/z80asm/snippets/m128.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | !m128
22 |
23 | source.z80asm
24 | Z80 Asm: 128k mode test
25 |
26 |
--------------------------------------------------------------------------------
/z80asm/snippets/macro.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | !macro
10 |
11 | source.z80asm
12 | Z80 Asm: macro
13 |
14 |
--------------------------------------------------------------------------------
/z80asm/snippets/module.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | !module
10 |
11 | source.z80asm
12 | Z80 Asm: module
13 |
14 |
--------------------------------------------------------------------------------
/z80asm/snippets/pp.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | !pp
10 |
11 | source.z80asm
12 | Z80 Asm: push pop
13 |
14 |
--------------------------------------------------------------------------------
/z80asm/snippets/savebin.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | !savebin
8 |
9 | source.z80asm
10 | Z80 Asm: savebin
11 |
12 |
--------------------------------------------------------------------------------
/z80asm/snippets/savesna.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | !savesna
8 |
9 | source.z80asm
10 | Z80 Asm: savesna
11 |
12 |
--------------------------------------------------------------------------------
/z80asm/snippets/savesp.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 | !savesp
11 |
12 | source.z80asm
13 | Z80 Asm: save and restore sp
14 |
15 |
--------------------------------------------------------------------------------
/z80asm/snippets/savetrd.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | !savetrd
8 |
9 | source.z80asm
10 | Z80 Asm: savetrd
11 |
12 |
--------------------------------------------------------------------------------
/z80asm/snippets/shutay.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | !shutay
16 |
17 | source.z80asm
18 | Z80 Asm: shut AY
19 |
20 |
--------------------------------------------------------------------------------
/z80asm/snippets/spr.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 | !spr
18 |
19 | source.z80asm
20 | Z80 Asm: print sprite
21 |
22 |
--------------------------------------------------------------------------------
/z80asm/snippets/struct.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | !struct
12 |
13 | source.z80asm
14 | Z80 Asm: struct
15 |
16 |
--------------------------------------------------------------------------------
/z80asm/snippets/up.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | !up
19 |
20 | source.z80asm
21 | Z80 Asm: prev screen line address
22 |
23 |
--------------------------------------------------------------------------------
/z80asm/snippets/ups.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 | !ups
20 |
21 | source.z80asm
22 | Z80 Asm: prev screen line address (sub)
23 |
24 |
--------------------------------------------------------------------------------
/z80asm/snippets/waitany.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 | !waitany
13 |
14 | source.z80asm
15 | Z80 Asm: wait any key
16 |
17 |
--------------------------------------------------------------------------------
/z80asm/snippets/waitenter.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | !waitenter
12 |
13 | source.z80asm
14 | Z80 Asm: wait enter key
15 |
16 |
--------------------------------------------------------------------------------
/z80asm/snippets/waitnokey.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 | !waitnokey
13 |
14 | source.z80asm
15 | Z80 Asm: wait no key pressed
16 |
17 |
--------------------------------------------------------------------------------
/z80asm/snippets/waitspace.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | !waitspace
12 |
13 | source.z80asm
14 | Z80 Asm: wait space key
15 |
16 |
--------------------------------------------------------------------------------
/z80asm/z80asm (breeze).JSON-tmTheme:
--------------------------------------------------------------------------------
1 | {
2 | "name": "z80asm (Breeze)",
3 | "settings": [
4 | {
5 | "settings": {
6 | "activeGuide": "#9D550FB0",
7 | "background": "#272822",
8 | "bracketContentsForeground": "#F8F8F2A5",
9 | "bracketContentsOptions": "underline",
10 | "bracketsForeground": "#F8F8F2A5",
11 | "bracketsOptions": "underline",
12 | "caret": "#F8F8F0",
13 | "findHighlight": "#FFE792",
14 | "findHighlightForeground": "#000000",
15 | "foreground": "#F8F8F2",
16 | "invisibles": "#3B3A32",
17 | "lineHighlight": "#3E3D32",
18 | "selection": "#49483E",
19 | "selectionBorder": "#222218",
20 | "tagsOptions": "stippled_underline"
21 | }
22 | },
23 | {
24 | "name": "Comment",
25 | "scope": "comment",
26 | "settings": {
27 | "foreground": "#75715E"
28 | }
29 | },
30 | {
31 | "name": "String",
32 | "scope": "string",
33 | "settings": {
34 | "foreground": "#E6DB74"
35 | }
36 | },
37 | {
38 | "name": "Number",
39 | "scope": "constant.numeric",
40 | "settings": {
41 | "foreground": "#AE81FF"
42 | }
43 | },
44 | {
45 | "name": "Built-in constant",
46 | "scope": "constant.language",
47 | "settings": {
48 | "foreground": "#AE81FF"
49 | }
50 | },
51 | {
52 | "name": "User-defined constant",
53 | "scope": "constant.character, constant.other",
54 | "settings": {
55 | "foreground": "#AE81FF"
56 | }
57 | },
58 | {
59 | "name": "Variable",
60 | "scope": "variable",
61 | "settings": {
62 | "fontStyle": ""
63 | }
64 | },
65 | {
66 | "name": "Keyword",
67 | "scope": "keyword",
68 | "settings": {
69 | "foreground": "#F92672"
70 | }
71 | },
72 | {
73 | "name": "Storage",
74 | "scope": "storage",
75 | "settings": {
76 | "fontStyle": "",
77 | "foreground": "#F92672"
78 | }
79 | },
80 | {
81 | "name": "Storage type",
82 | "scope": "storage.type",
83 | "settings": {
84 | "fontStyle": "italic",
85 | "foreground": "#66D9EF"
86 | }
87 | },
88 | {
89 | "name": "Class name",
90 | "scope": "entity.name.class",
91 | "settings": {
92 | "fontStyle": "underline",
93 | "foreground": "#A6E22E"
94 | }
95 | },
96 | {
97 | "name": "Inherited class",
98 | "scope": "entity.other.inherited-class",
99 | "settings": {
100 | "fontStyle": "italic underline",
101 | "foreground": "#A6E22E"
102 | }
103 | },
104 | {
105 | "name": "Function name",
106 | "scope": "entity.name.function",
107 | "settings": {
108 | "fontStyle": "",
109 | "foreground": "#A6E22E"
110 | }
111 | },
112 | {
113 | "name": "Function argument",
114 | "scope": "variable.parameter",
115 | "settings": {
116 | "fontStyle": "italic",
117 | "foreground": "#FD971F"
118 | }
119 | },
120 | {
121 | "name": "Tag name",
122 | "scope": "entity.name.tag",
123 | "settings": {
124 | "fontStyle": "",
125 | "foreground": "#F92672"
126 | }
127 | },
128 | {
129 | "name": "Tag attribute",
130 | "scope": "entity.other.attribute-name",
131 | "settings": {
132 | "fontStyle": "",
133 | "foreground": "#A6E22E"
134 | }
135 | },
136 | {
137 | "name": "Library function",
138 | "scope": "support.function",
139 | "settings": {
140 | "fontStyle": "",
141 | "foreground": "#66D9EF"
142 | }
143 | },
144 | {
145 | "name": "Library constant",
146 | "scope": "support.constant",
147 | "settings": {
148 | "fontStyle": "",
149 | "foreground": "#66D9EF"
150 | }
151 | },
152 | {
153 | "name": "Library class/type",
154 | "scope": "support.type, support.class",
155 | "settings": {
156 | "fontStyle": "italic",
157 | "foreground": "#66D9EF"
158 | }
159 | },
160 | {
161 | "name": "Library variable",
162 | "scope": "support.other.variable",
163 | "settings": {
164 | "fontStyle": ""
165 | }
166 | },
167 | {
168 | "name": "Invalid",
169 | "scope": "invalid",
170 | "settings": {
171 | "background": "#F92672",
172 | "fontStyle": "",
173 | "foreground": "#F8F8F0"
174 | }
175 | },
176 | {
177 | "name": "Invalid deprecated",
178 | "scope": "invalid.deprecated",
179 | "settings": {
180 | "background": "#AE81FF",
181 | "foreground": "#F8F8F0"
182 | }
183 | },
184 | {
185 | "name": "JSON String",
186 | "scope": "meta.structure.dictionary.json string.quoted.double.json",
187 | "settings": {
188 | "foreground": "#CFCFC2"
189 | }
190 | },
191 | {
192 | "name": "diff.header",
193 | "scope": "meta.diff, meta.diff.header",
194 | "settings": {
195 | "foreground": "#75715E"
196 | }
197 | },
198 | {
199 | "name": "diff.deleted",
200 | "scope": "markup.deleted",
201 | "settings": {
202 | "foreground": "#F92672"
203 | }
204 | },
205 | {
206 | "name": "diff.inserted",
207 | "scope": "markup.inserted",
208 | "settings": {
209 | "foreground": "#A6E22E"
210 | }
211 | },
212 | {
213 | "name": "diff.changed",
214 | "scope": "markup.changed",
215 | "settings": {
216 | "foreground": "#E6DB74"
217 | }
218 | },
219 | {
220 | "scope": "constant.numeric.line-number.find-in-files - match",
221 | "settings": {
222 | "foreground": "#AE81FFA0"
223 | }
224 | },
225 | {
226 | "scope": "entity.name.filename.find-in-files",
227 | "settings": {
228 | "foreground": "#E6DB74"
229 | }
230 | },
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 | {
239 | "Name": "Bad line",
240 | "scope": "invalid.illegal.asm",
241 | "settings": {
242 | "fontStyle": "",
243 | "background": "#FF0000",
244 | "foreground": "#FFFFFF"
245 | }
246 | },
247 | {
248 | "Name": "Label",
249 | "scope": "entity.name.label.asm",
250 | "settings": {
251 | "fontStyle": "",
252 | "foreground": "#dab9ff"
253 | }
254 | },
255 | {
256 | "Name": "Label definition",
257 | "scope": "entity.name.label.def.asm",
258 | "settings": {
259 | "fontStyle": "",
260 | "foreground": "#dab9ff"
261 | }
262 | },
263 | {
264 | "Name": "Flags",
265 | "scope": "constant.other.flag.asm",
266 | "settings": {
267 | "fontStyle": "",
268 | "foreground": "#5c7fc1"
269 | }
270 | },
271 |
272 | {
273 | "Name": "Z80 commands",
274 | "scope": "keyword.other.command.asm",
275 | "settings": {
276 | "fontStyle": "",
277 | "foreground": "#c15c95"
278 | }
279 | },
280 | {
281 | "Name": "Z80 commands / known macros (down/up)",
282 | "scope": "keyword.other.command.extended.asm",
283 | "settings": {
284 | "fontStyle": "",
285 | "foreground": "#FFFFFF"
286 | }
287 | },
288 |
289 | {
290 | "Name": "Asm data definition directives (db)",
291 | "scope": "storage.type.datadef.asm",
292 | "settings": {
293 | "fontStyle": "",
294 | "foreground": "#506070"
295 | }
296 | },
297 | {
298 | "Name": "Asm general directives (org/dup)",
299 | "scope": "keyword.control.asm",
300 | "settings": {
301 | "fontStyle": "",
302 | "foreground": "#8ca4dc"
303 | }
304 | },
305 |
306 | {
307 | "Name": "Asm functions (high/low/shr)",
308 | "scope": "support.function.asm",
309 | "settings": {
310 | "fontStyle": "",
311 | "foreground": "#FFAA00"
312 | }
313 | },
314 |
315 | {
316 | "Name": "SjASM directives/commands (device/display/savesna)",
317 | "scope": "keyword.directive.extended.asm",
318 | "settings": {
319 | "fontStyle": "",
320 | "foreground": "#dc8cc3"
321 | }
322 | },
323 |
324 | {
325 | "Name": "register set",
326 | "scope": "variable.parameter.register.asm",
327 | "settings": {
328 | "fontStyle": "",
329 | "foreground": "#dfaf8f"
330 | }
331 | },
332 | {
333 | "Name": "HEX/DEC/BIN number",
334 | "scope": "constant.numeric.asm",
335 | "settings": {
336 | "fontStyle": "",
337 | "foreground": "#60b48a"
338 | }
339 | },
340 |
341 | {
342 | "Name": "Comment line",
343 | "scope": "comment.line.asm",
344 | "settings": {
345 | "fontStyle": "italic",
346 | "foreground": "#75715E"
347 | }
348 | },
349 | {
350 | "Name": "C-style comment block",
351 | "scope": "comment.block.asm",
352 | "settings": {
353 | "fontStyle": "italic",
354 | "foreground": "#75715E"
355 | }
356 | },
357 | {
358 | "Name": "Single-line string",
359 | "scope": "string.asm",
360 | "settings": {
361 | "fontStyle": "italic",
362 | "foreground": "#dcdccc"
363 | }
364 | }
365 |
366 | ],
367 | "uuid": "D8D5E82E-3D5B-46B5-B38E-8C841C21347F"
368 | }
--------------------------------------------------------------------------------
/z80asm/z80asm (breeze).tmTheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | z80asm (Breeze)
7 | settings
8 |
9 |
10 | settings
11 |
12 | activeGuide
13 | #9D550FB0
14 | background
15 | #272822
16 | bracketContentsForeground
17 | #F8F8F2A5
18 | bracketContentsOptions
19 | underline
20 | bracketsForeground
21 | #F8F8F2A5
22 | bracketsOptions
23 | underline
24 | caret
25 | #F8F8F0
26 | findHighlight
27 | #FFE792
28 | findHighlightForeground
29 | #000000
30 | foreground
31 | #F8F8F2
32 | invisibles
33 | #3B3A32
34 | lineHighlight
35 | #3E3D32
36 | selection
37 | #49483E
38 | selectionBorder
39 | #222218
40 | tagsOptions
41 | stippled_underline
42 |
43 |
44 |
45 | name
46 | Comment
47 | scope
48 | comment
49 | settings
50 |
51 | foreground
52 | #75715E
53 |
54 |
55 |
56 | name
57 | String
58 | scope
59 | string
60 | settings
61 |
62 | foreground
63 | #E6DB74
64 |
65 |
66 |
67 | name
68 | Number
69 | scope
70 | constant.numeric
71 | settings
72 |
73 | foreground
74 | #AE81FF
75 |
76 |
77 |
78 | name
79 | Built-in constant
80 | scope
81 | constant.language
82 | settings
83 |
84 | foreground
85 | #AE81FF
86 |
87 |
88 |
89 | name
90 | User-defined constant
91 | scope
92 | constant.character, constant.other
93 | settings
94 |
95 | foreground
96 | #AE81FF
97 |
98 |
99 |
100 | name
101 | Variable
102 | scope
103 | variable
104 | settings
105 |
106 | fontStyle
107 |
108 |
109 |
110 |
111 | name
112 | Keyword
113 | scope
114 | keyword
115 | settings
116 |
117 | foreground
118 | #F92672
119 |
120 |
121 |
122 | name
123 | Storage
124 | scope
125 | storage
126 | settings
127 |
128 | fontStyle
129 |
130 | foreground
131 | #F92672
132 |
133 |
134 |
135 | name
136 | Storage type
137 | scope
138 | storage.type
139 | settings
140 |
141 | fontStyle
142 | italic
143 | foreground
144 | #66D9EF
145 |
146 |
147 |
148 | name
149 | Class name
150 | scope
151 | entity.name.class
152 | settings
153 |
154 | fontStyle
155 | underline
156 | foreground
157 | #A6E22E
158 |
159 |
160 |
161 | name
162 | Inherited class
163 | scope
164 | entity.other.inherited-class
165 | settings
166 |
167 | fontStyle
168 | italic underline
169 | foreground
170 | #A6E22E
171 |
172 |
173 |
174 | name
175 | Function name
176 | scope
177 | entity.name.function
178 | settings
179 |
180 | fontStyle
181 |
182 | foreground
183 | #A6E22E
184 |
185 |
186 |
187 | name
188 | Function argument
189 | scope
190 | variable.parameter
191 | settings
192 |
193 | fontStyle
194 | italic
195 | foreground
196 | #FD971F
197 |
198 |
199 |
200 | name
201 | Tag name
202 | scope
203 | entity.name.tag
204 | settings
205 |
206 | fontStyle
207 |
208 | foreground
209 | #F92672
210 |
211 |
212 |
213 | name
214 | Tag attribute
215 | scope
216 | entity.other.attribute-name
217 | settings
218 |
219 | fontStyle
220 |
221 | foreground
222 | #A6E22E
223 |
224 |
225 |
226 | name
227 | Library function
228 | scope
229 | support.function
230 | settings
231 |
232 | fontStyle
233 |
234 | foreground
235 | #66D9EF
236 |
237 |
238 |
239 | name
240 | Library constant
241 | scope
242 | support.constant
243 | settings
244 |
245 | fontStyle
246 |
247 | foreground
248 | #66D9EF
249 |
250 |
251 |
252 | name
253 | Library class/type
254 | scope
255 | support.type, support.class
256 | settings
257 |
258 | fontStyle
259 | italic
260 | foreground
261 | #66D9EF
262 |
263 |
264 |
265 | name
266 | Library variable
267 | scope
268 | support.other.variable
269 | settings
270 |
271 | fontStyle
272 |
273 |
274 |
275 |
276 | name
277 | Invalid
278 | scope
279 | invalid
280 | settings
281 |
282 | background
283 | #F92672
284 | fontStyle
285 |
286 | foreground
287 | #F8F8F0
288 |
289 |
290 |
291 | name
292 | Invalid deprecated
293 | scope
294 | invalid.deprecated
295 | settings
296 |
297 | background
298 | #AE81FF
299 | foreground
300 | #F8F8F0
301 |
302 |
303 |
304 | name
305 | JSON String
306 | scope
307 | meta.structure.dictionary.json string.quoted.double.json
308 | settings
309 |
310 | foreground
311 | #CFCFC2
312 |
313 |
314 |
315 | name
316 | diff.header
317 | scope
318 | meta.diff, meta.diff.header
319 | settings
320 |
321 | foreground
322 | #75715E
323 |
324 |
325 |
326 | name
327 | diff.deleted
328 | scope
329 | markup.deleted
330 | settings
331 |
332 | foreground
333 | #F92672
334 |
335 |
336 |
337 | name
338 | diff.inserted
339 | scope
340 | markup.inserted
341 | settings
342 |
343 | foreground
344 | #A6E22E
345 |
346 |
347 |
348 | name
349 | diff.changed
350 | scope
351 | markup.changed
352 | settings
353 |
354 | foreground
355 | #E6DB74
356 |
357 |
358 |
359 | scope
360 | constant.numeric.line-number.find-in-files - match
361 | settings
362 |
363 | foreground
364 | #AE81FFA0
365 |
366 |
367 |
368 | scope
369 | entity.name.filename.find-in-files
370 | settings
371 |
372 | foreground
373 | #E6DB74
374 |
375 |
376 |
377 | Name
378 | Bad line
379 | scope
380 | invalid.illegal.asm
381 | settings
382 |
383 | background
384 | #FF0000
385 | fontStyle
386 |
387 | foreground
388 | #FFFFFF
389 |
390 |
391 |
392 | Name
393 | Label
394 | scope
395 | entity.name.label.asm
396 | settings
397 |
398 | fontStyle
399 |
400 | foreground
401 | #dab9ff
402 |
403 |
404 |
405 | Name
406 | Label definition
407 | scope
408 | entity.name.label.def.asm
409 | settings
410 |
411 | fontStyle
412 |
413 | foreground
414 | #dab9ff
415 |
416 |
417 |
418 | Name
419 | Flags
420 | scope
421 | constant.other.flag.asm
422 | settings
423 |
424 | fontStyle
425 |
426 | foreground
427 | #5c7fc1
428 |
429 |
430 |
431 | Name
432 | Z80 commands
433 | scope
434 | keyword.other.command.asm
435 | settings
436 |
437 | fontStyle
438 |
439 | foreground
440 | #c15c95
441 |
442 |
443 |
444 | Name
445 | Z80 commands / known macros (down/up)
446 | scope
447 | keyword.other.command.extended.asm
448 | settings
449 |
450 | fontStyle
451 |
452 | foreground
453 | #FFFFFF
454 |
455 |
456 |
457 | Name
458 | Asm data definition directives (db)
459 | scope
460 | storage.type.datadef.asm
461 | settings
462 |
463 | fontStyle
464 |
465 | foreground
466 | #506070
467 |
468 |
469 |
470 | Name
471 | Asm general directives (org/dup)
472 | scope
473 | keyword.control.asm
474 | settings
475 |
476 | fontStyle
477 |
478 | foreground
479 | #8ca4dc
480 |
481 |
482 |
483 | Name
484 | Asm functions (high/low/shr)
485 | scope
486 | support.function.asm
487 | settings
488 |
489 | fontStyle
490 |
491 | foreground
492 | #FFAA00
493 |
494 |
495 |
496 | Name
497 | SjASM directives/commands (device/display/savesna)
498 | scope
499 | keyword.directive.extended.asm
500 | settings
501 |
502 | fontStyle
503 |
504 | foreground
505 | #dc8cc3
506 |
507 |
508 |
509 | Name
510 | register set
511 | scope
512 | variable.parameter.register.asm
513 | settings
514 |
515 | fontStyle
516 |
517 | foreground
518 | #dfaf8f
519 |
520 |
521 |
522 | Name
523 | HEX/DEC/BIN number
524 | scope
525 | constant.numeric.asm
526 | settings
527 |
528 | fontStyle
529 |
530 | foreground
531 | #60b48a
532 |
533 |
534 |
535 | Name
536 | Comment line
537 | scope
538 | comment.line.asm
539 | settings
540 |
541 | fontStyle
542 | italic
543 | foreground
544 | #75715E
545 |
546 |
547 |
548 | Name
549 | C-style comment block
550 | scope
551 | comment.block.asm
552 | settings
553 |
554 | fontStyle
555 | italic
556 | foreground
557 | #75715E
558 |
559 |
560 |
561 | Name
562 | Single-line string
563 | scope
564 | string.asm
565 | settings
566 |
567 | fontStyle
568 | italic
569 | foreground
570 | #dcdccc
571 |
572 |
573 |
574 | uuid
575 | D8D5E82E-3D5B-46B5-B38E-8C841C21347F
576 |
577 |
578 |
--------------------------------------------------------------------------------
/z80asm/z80asm.JSON-tmLanguage:
--------------------------------------------------------------------------------
1 | { "name": "Z80 Asm",
2 | "scopeName": "source.z80asm",
3 | "fileTypes": ["a80","asm"],
4 | "patterns": [
5 |
6 | {
7 | "match": "^[0-9]+[^0-9\\s:].*$",
8 | "name": "invalid.illegal.asm",
9 | "comment": "Bad temporary label (not only numeric)"
10 | },
11 | {
12 | "match": "^[^a-zA-Z0-9_.;@/ \\t\\r\\n].*$",
13 | "name": "invalid.illegal.asm",
14 | "comment": "Bad line (not begin from label, space, dot or comment)"
15 | },
16 |
17 | {
18 | "match": "^\\.\\d+(?=\\s)",
19 | "name": "keyword.control.asm",
20 | "comment": "DUP (storm syntax)"
21 | },
22 | {
23 | "match": "^(([a-zA-Z_.@][a-zA-Z_.0-9]*)|[0-9]+)(?=\\s|:|=|$)",
24 | "name": "entity.name.label.def.asm",
25 | "comment": "Label"
26 | },
27 |
28 |
29 | {
30 | "match": "(?i)(?<=\\s|:)(call|jp|jr)\\s+(?:(z|nz|c|nc|po|pe|p|m)\\s*,\\s*)?((?:[a-zA-Z_.@$][a-zA-Z_.0-9]*)|[0-9]+(?:b|f))",
31 | "captures": {
32 | "1": { "name": "keyword.other.command.asm" },
33 | "2": { "name": "constant.other.flag.asm" },
34 | "3": { "name": "entity.name.label.asm" }
35 | },
36 | "comment": "Special case: conditional call/jmp"
37 | },
38 | {
39 | "match": "(?i)(?<=\\s|:)(djnz)\\s+((?:[a-zA-Z_.@$][a-zA-Z_.0-9]*)|[0-9]+(?:b|f))",
40 | "captures": {
41 | "1": { "name": "keyword.other.command.asm" },
42 | "2": { "name": "entity.name.label.asm" }
43 | },
44 | "comment": "Special case: djnz"
45 | },
46 | {
47 | "match": "(?i)(?<=\\s|:)(ret)(?:\\s+(z|nz|c|nc|po|pe|p|m))?(?=\\s|:|;|$)",
48 | "captures": {
49 | "1": { "name": "keyword.other.command.asm" },
50 | "2": { "name": "constant.other.flag.asm" }
51 | },
52 | "comment": "Special case: conditional ret"
53 | },
54 |
55 |
56 | {
57 | "match": "(?i)(?<=\\s|:)(adc|add|and|bit|call|ccf|cp|cpl|cpd|cpdr|cpi|cpir|daa|dec|di|djnz|ei|ex|exx|halt|im|in|inc|ind|indr|inf|ini|inir|jp|jr|ld|ldd|lddr|ldi|ldir|neg|nop|exx|or|otdr|otir|out|outd|outi|pop|push|res|ret|reti|retn|rl|rla|rlc|rlca|rld|rr|rra|rrc|rrca|rrd|rst|sbc|scf|set|sla|sli|sll|sra|srl|sub|xor)(?=\\s|:|$)",
58 | "name": "keyword.other.command.asm",
59 | "comment": "Z80 commands"
60 | },
61 | {
62 | "match": "(?i)(?<=\\s|:)(exa|down|up)(?=\\s|:|$)",
63 | "name": "keyword.other.command.extended.asm",
64 | "comment": "Z80 commands / known macros"
65 | },
66 | {
67 | "match": "(?i)(?<=\\s|:)(db|dw|ds|dm|dd|dz|defb|defw|defs|defm|defd|byte|abyte(c|z)?|word|d24|dword|block|defarray)(?=\\s|:|$)",
68 | "name": "storage.type.datadef.asm",
69 | "comment": "Asm data definition directives"
70 | },
71 | {
72 | "match": "(?i)(?<=\\s|:)(include|incbin|incl|incb|binary|insert|inchob|inctrd|org|align|page|slot|equ|disp|phase|unphase|dephase|ent|textarea|macro|endm|struct|ends|dup|edup|rept|define|if|ifn|endif|ifdef|ifndef|end)(?=\\s|:|$)",
73 | "name": "keyword.control.asm",
74 | "comment": "Asm general directives"
75 | },
76 | {
77 | "match": "(?i)\\b(high|low|not|mod|shl|shr)\\b",
78 | "name": "support.function.asm",
79 | "comment": "Asm functions"
80 | },
81 | {
82 | "match": "(?i)(?<=[a-z0-9_])(\\[|\\])",
83 | "name": "support.function.asm",
84 | "comment": "Asm functions"
85 | },
86 |
87 | {
88 | "match": "(?i)(?<=\\s|:)(device|display|savesna|savebin|savehob|savetrd|module|endmodule|lua|endlua|includelua|assert|emptytrd|encoding|export|labelslist|output|shellexec|size)(?=\\s|:|$)",
89 | "name": "keyword.directive.extended.asm",
90 | "comment": "SjASM directives/commands"
91 | },
92 |
93 |
94 | {
95 | "match": "(?i)\\b(a|b|c|d|e|h|l|i|r|xl|lx|xh|hx|ixl|ixh|yl|ly|yh|hy|iyl|iyh)\\b",
96 | "name": "variable.parameter.register.asm",
97 | "comment": "8 bit register set"
98 | },
99 | {
100 | "match": "(?i)(\\baf')|(\\b(af|bc|de|hl|sp|ix|iy)\\b)",
101 | "name": "variable.parameter.register.asm",
102 | "comment": "16 bit register set"
103 | },
104 | {
105 | "match": "(?i)(%[01]+\\b)|(\\b[01]+b\\b)|((#|\\$)[0-9a-f]+\\b)|(\\b([0-9]+|0x[0-9a-f]+|[0-9][0-9a-f]*h)\\b)",
106 | "name": "constant.numeric.asm",
107 | "comment": "HEX/DEC/BIN number"
108 | },
109 |
110 | {
111 | "match": "(\\b|@|\\.)[a-zA-Z_][a-zA-Z_.0-9]*\\b",
112 | "name": "entity.name.label.asm",
113 | "comment": "Label in commands (experimental, marks all unknown words as labels)"
114 | },
115 |
116 |
117 | {
118 | "match": "(\/\/|;).*",
119 | "name": "comment.line.asm",
120 | "comment": "Comment line"
121 | },
122 | {
123 | "begin": "(\/\\*)",
124 | "end": "(\\*\/)",
125 | "name": "comment.block.asm",
126 | "comment": "C-style comment block"
127 | },
128 |
129 | {
130 | "match": "'[^']*'",
131 | "name": "string.asm",
132 | "comment": "Single-line string"
133 | },
134 | {
135 | "match": "\"[^\"]*\"",
136 | "name": "string.asm",
137 | "comment": "Single-line string"
138 | }
139 |
140 | ],
141 | "uuid": "c15e385b-46ca-4911-b87f-4212fb149803"
142 | }
143 |
--------------------------------------------------------------------------------
/z80asm/z80asm.JSON-tmPreferences:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Comments, indent",
3 | "scope": "source.z80asm",
4 | "settings": {
5 | "increaseIndentPattern": "(?x)^[a-zA-Z_.@][a-zA-Z_.0-9]*(?=\\s|:|=|$)",
6 |
7 | "shellVariables": [
8 | {
9 | "name": "TM_COMMENT_START",
10 | "value": "; "
11 | },
12 | {
13 | "name": "TM_COMMENT_START_2",
14 | "value": "//"
15 | },
16 | {
17 | "name": "TM_COMMENT_START_3",
18 | "value": "/*"
19 | },
20 | {
21 | "name": "TM_COMMENT_END_3",
22 | "value": "*/"
23 | },
24 | {
25 | "name": "TM_COMMENT_DISABLE_INDENT",
26 | "value": "yes"
27 | }
28 | ]
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/z80asm/z80asm.JSON-tmTheme:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Monokai-z80asm",
3 | "settings": [
4 | {
5 | "settings": {
6 | "activeGuide": "#9D550FB0",
7 | "background": "#272822",
8 | "bracketContentsForeground": "#F8F8F2A5",
9 | "bracketContentsOptions": "underline",
10 | "bracketsForeground": "#F8F8F2A5",
11 | "bracketsOptions": "underline",
12 | "caret": "#F8F8F0",
13 | "findHighlight": "#FFE792",
14 | "findHighlightForeground": "#000000",
15 | "foreground": "#F8F8F2",
16 | "invisibles": "#3B3A32",
17 | "lineHighlight": "#3E3D32",
18 | "selection": "#49483E",
19 | "selectionBorder": "#222218",
20 | "tagsOptions": "stippled_underline"
21 | }
22 | },
23 | {
24 | "name": "Comment",
25 | "scope": "comment",
26 | "settings": {
27 | "foreground": "#75715E"
28 | }
29 | },
30 | {
31 | "name": "String",
32 | "scope": "string",
33 | "settings": {
34 | "foreground": "#E6DB74"
35 | }
36 | },
37 | {
38 | "name": "Number",
39 | "scope": "constant.numeric",
40 | "settings": {
41 | "foreground": "#AE81FF"
42 | }
43 | },
44 | {
45 | "name": "Built-in constant",
46 | "scope": "constant.language",
47 | "settings": {
48 | "foreground": "#AE81FF"
49 | }
50 | },
51 | {
52 | "name": "User-defined constant",
53 | "scope": "constant.character, constant.other",
54 | "settings": {
55 | "foreground": "#AE81FF"
56 | }
57 | },
58 | {
59 | "name": "Variable",
60 | "scope": "variable",
61 | "settings": {
62 | "fontStyle": ""
63 | }
64 | },
65 | {
66 | "name": "Keyword",
67 | "scope": "keyword",
68 | "settings": {
69 | "foreground": "#F92672"
70 | }
71 | },
72 | {
73 | "name": "Storage",
74 | "scope": "storage",
75 | "settings": {
76 | "fontStyle": "",
77 | "foreground": "#F92672"
78 | }
79 | },
80 | {
81 | "name": "Storage type",
82 | "scope": "storage.type",
83 | "settings": {
84 | "fontStyle": "italic",
85 | "foreground": "#66D9EF"
86 | }
87 | },
88 | {
89 | "name": "Class name",
90 | "scope": "entity.name.class",
91 | "settings": {
92 | "fontStyle": "underline",
93 | "foreground": "#A6E22E"
94 | }
95 | },
96 | {
97 | "name": "Inherited class",
98 | "scope": "entity.other.inherited-class",
99 | "settings": {
100 | "fontStyle": "italic underline",
101 | "foreground": "#A6E22E"
102 | }
103 | },
104 | {
105 | "name": "Function name",
106 | "scope": "entity.name.function",
107 | "settings": {
108 | "fontStyle": "",
109 | "foreground": "#A6E22E"
110 | }
111 | },
112 | {
113 | "name": "Function argument",
114 | "scope": "variable.parameter",
115 | "settings": {
116 | "fontStyle": "italic",
117 | "foreground": "#FD971F"
118 | }
119 | },
120 | {
121 | "name": "Tag name",
122 | "scope": "entity.name.tag",
123 | "settings": {
124 | "fontStyle": "",
125 | "foreground": "#F92672"
126 | }
127 | },
128 | {
129 | "name": "Tag attribute",
130 | "scope": "entity.other.attribute-name",
131 | "settings": {
132 | "fontStyle": "",
133 | "foreground": "#A6E22E"
134 | }
135 | },
136 | {
137 | "name": "Library function",
138 | "scope": "support.function",
139 | "settings": {
140 | "fontStyle": "",
141 | "foreground": "#66D9EF"
142 | }
143 | },
144 | {
145 | "name": "Library constant",
146 | "scope": "support.constant",
147 | "settings": {
148 | "fontStyle": "",
149 | "foreground": "#66D9EF"
150 | }
151 | },
152 | {
153 | "name": "Library class/type",
154 | "scope": "support.type, support.class",
155 | "settings": {
156 | "fontStyle": "italic",
157 | "foreground": "#66D9EF"
158 | }
159 | },
160 | {
161 | "name": "Library variable",
162 | "scope": "support.other.variable",
163 | "settings": {
164 | "fontStyle": ""
165 | }
166 | },
167 | {
168 | "name": "Invalid",
169 | "scope": "invalid",
170 | "settings": {
171 | "background": "#F92672",
172 | "fontStyle": "",
173 | "foreground": "#F8F8F0"
174 | }
175 | },
176 | {
177 | "name": "Invalid deprecated",
178 | "scope": "invalid.deprecated",
179 | "settings": {
180 | "background": "#AE81FF",
181 | "foreground": "#F8F8F0"
182 | }
183 | },
184 | {
185 | "name": "JSON String",
186 | "scope": "meta.structure.dictionary.json string.quoted.double.json",
187 | "settings": {
188 | "foreground": "#CFCFC2"
189 | }
190 | },
191 | {
192 | "name": "diff.header",
193 | "scope": "meta.diff, meta.diff.header",
194 | "settings": {
195 | "foreground": "#75715E"
196 | }
197 | },
198 | {
199 | "name": "diff.deleted",
200 | "scope": "markup.deleted",
201 | "settings": {
202 | "foreground": "#F92672"
203 | }
204 | },
205 | {
206 | "name": "diff.inserted",
207 | "scope": "markup.inserted",
208 | "settings": {
209 | "foreground": "#A6E22E"
210 | }
211 | },
212 | {
213 | "name": "diff.changed",
214 | "scope": "markup.changed",
215 | "settings": {
216 | "foreground": "#E6DB74"
217 | }
218 | },
219 | {
220 | "scope": "constant.numeric.line-number.find-in-files - match",
221 | "settings": {
222 | "foreground": "#AE81FFA0"
223 | }
224 | },
225 | {
226 | "scope": "entity.name.filename.find-in-files",
227 | "settings": {
228 | "foreground": "#E6DB74"
229 | }
230 | },
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 | {
239 | "Name": "Bad line",
240 | "scope": "invalid.illegal.asm",
241 | "settings": {
242 | "fontStyle": "",
243 | "background": "#FF0000",
244 | "foreground": "#FFFFFF"
245 | }
246 | },
247 | {
248 | "Name": "Label",
249 | "scope": "entity.name.label.asm",
250 | "settings": {
251 | "fontStyle": "",
252 | "foreground": "#FF0088"
253 | }
254 | },
255 | {
256 | "Name": "Label definition",
257 | "scope": "entity.name.label.def.asm",
258 | "settings": {
259 | "fontStyle": "",
260 | "foreground": "#FF0088"
261 | }
262 | },
263 | {
264 | "Name": "Flags",
265 | "scope": "constant.other.flag.asm",
266 | "settings": {
267 | "fontStyle": "bold",
268 | "foreground": "#FFAA00"
269 | }
270 | },
271 |
272 | {
273 | "Name": "Z80 commands",
274 | "scope": "keyword.other.command.asm",
275 | "settings": {
276 | "fontStyle": "bold",
277 | "foreground": "#FFFFFF"
278 | }
279 | },
280 | {
281 | "Name": "Z80 commands / known macros (down/up)",
282 | "scope": "keyword.other.command.extended.asm",
283 | "settings": {
284 | "fontStyle": "",
285 | "foreground": "#FFFFFF"
286 | }
287 | },
288 |
289 | {
290 | "Name": "Asm data definition directives (db)",
291 | "scope": "storage.type.datadef.asm",
292 | "settings": {
293 | "fontStyle": "",
294 | "foreground": "#00FFAA"
295 | }
296 | },
297 | {
298 | "Name": "Asm general directives (org/dup)",
299 | "scope": "keyword.control.asm",
300 | "settings": {
301 | "fontStyle": "",
302 | "foreground": "#FFAA00"
303 | }
304 | },
305 |
306 | {
307 | "Name": "Asm functions (high/low/shr)",
308 | "scope": "support.function.asm",
309 | "settings": {
310 | "fontStyle": "",
311 | "foreground": "#FFAA00"
312 | }
313 | },
314 |
315 | {
316 | "Name": "SjASM directives/commands (device/display/savesna)",
317 | "scope": "keyword.directive.extended.asm",
318 | "settings": {
319 | "fontStyle": "",
320 | "foreground": "#0099FF"
321 | }
322 | },
323 |
324 | {
325 | "Name": "register set",
326 | "scope": "variable.parameter.register.asm",
327 | "settings": {
328 | "fontStyle": "bold",
329 | "foreground": "#FFFF00"
330 | }
331 | },
332 | {
333 | "Name": "HEX/DEC/BIN number",
334 | "scope": "constant.numeric.asm",
335 | "settings": {
336 | "fontStyle": "",
337 | "foreground": "#00FF00"
338 | }
339 | },
340 |
341 | {
342 | "Name": "Comment line",
343 | "scope": "comment.line.asm",
344 | "settings": {
345 | "fontStyle": "italic",
346 | "foreground": "#75715E"
347 | }
348 | },
349 | {
350 | "Name": "C-style comment block",
351 | "scope": "comment.block.asm",
352 | "settings": {
353 | "fontStyle": "italic",
354 | "foreground": "#75715E"
355 | }
356 | },
357 | {
358 | "Name": "Single-line string",
359 | "scope": "string.asm",
360 | "settings": {
361 | "fontStyle": "",
362 | "foreground": "#E6DB74"
363 | }
364 | }
365 |
366 | ],
367 | "uuid": "D8D5E82E-3D5B-46B5-B38E-8C841C21347D"
368 | }
--------------------------------------------------------------------------------
/z80asm/z80asm.about:
--------------------------------------------------------------------------------
1 | .:*"*:,_,:*"*:,_,:*"*:,_,:*"*:,_,:*"*:,_,:*"*:.
2 |
3 | Z80 Asm plugin for Sublime Text 2
4 | ---------------------------------
5 | (c)2013, psb^hlw.
6 |
7 |
8 | * https://github.com/psbhlw/sublime-text-z80asm
9 |
--------------------------------------------------------------------------------
/z80asm/z80asm.py:
--------------------------------------------------------------------------------
1 | import sublime, sublime_plugin
2 | import os
3 |
4 | # Consts
5 | THIS_PLUGIN_NAME = 'z80asm'
6 | THIS_PLUGIN_DEBUG = True
7 |
8 | # Initialize plugin
9 | def A80Init():
10 | global A80_DIR, A80_SYNTAX_FILE, A80_SNIP_DIR, A80_HELP_DIR
11 | A80_DIR=os.path.join(sublime.packages_path(), THIS_PLUGIN_NAME)
12 | A80_SYNTAX_FILE='Packages'+'/'+THIS_PLUGIN_NAME+'/'+THIS_PLUGIN_NAME+'.tmLanguage'
13 | A80_SNIP_DIR='Packages'+'/'+THIS_PLUGIN_NAME+'/'+'snippets'
14 | A80_HELP_DIR=A80_DIR+'/'+'helps'
15 |
16 |
17 |
18 | # Debug print
19 | def dbgprint(s):
20 | if THIS_PLUGIN_DEBUG:
21 | print ("Z80 Asm:",s)
22 | sublime.status_message(s)
23 |
24 |
25 |
26 | # Command handler class
27 | class A80DoCmdCommand(sublime_plugin.WindowCommand):
28 | # Command handler
29 | def run(self, cmd):
30 |
31 | if cmd=="NewCode":
32 | v=self.window.new_file()
33 | v.set_syntax_file(A80_SYNTAX_FILE)
34 | v.run_command("insert_snippet", {"name": A80_SNIP_DIR+'/init.sublime-snippet'})
35 | dbgprint("New Code created")
36 |
37 | elif cmd=="NewBasic":
38 | v=self.window.new_file()
39 | v.set_syntax_file(A80_SYNTAX_FILE)
40 | v.run_command("insert_snippet", {"name": A80_SNIP_DIR+'/basic.sublime-snippet'})
41 | dbgprint("New Basic loader created")
42 |
43 | elif cmd=="Build":
44 | self.window.run_command("build")
45 | dbgprint("Build started")
46 |
47 | elif cmd=="Run":
48 | self.window.run_command("build", {"variant": "Run"})
49 | dbgprint("Emulator started")
50 |
51 | elif cmd=="Build_Run":
52 | self.window.run_command("build", {"variant": "Build and Run"})
53 | dbgprint("Build and Run script started")
54 |
55 | elif cmd=="AFormat":
56 | dbgprint("Not implemented yet")
57 |
58 | elif cmd=="JLine":
59 | dbgprint("Not implemented yet")
60 |
61 | elif cmd=="Sline":
62 | dbgprint("Not implemented yet")
63 |
64 | elif cmd=="SynStorm":
65 | dbgprint("Not implemented yet")
66 |
67 | elif cmd=="SynAlasm":
68 | dbgprint("Not implemented yet")
69 |
70 |
71 | # Disable not implemented items
72 | def is_enabled(self, cmd):
73 | if cmd not in ["AFormat", "JLine", "Sline", "SynStorm", "SynAlasm"]:
74 | return True
75 | return False
76 |
77 |
78 |
79 | # Helps
80 | class A80HelpCommand(sublime_plugin.WindowCommand):
81 | def run(self, indx):
82 | n=self.help_list()
83 | self.window.run_command("open_file", {"file": "${packages}/z80asm/helps/"+n[indx]})
84 |
85 | # Scan helps folder for files (10 max)
86 | def help_list(self):
87 | lst=os.listdir(A80_HELP_DIR)
88 | lst.sort()
89 | return lst[:10]
90 |
91 | # Show help
92 | def is_visible(self, indx):
93 | n=self.help_list()
94 | if indx=3000:
152 | def plugin_loaded():
153 | A80Init()
154 | else:
155 | A80Init()
156 |
157 | dbgprint("Z80 Asm plugin started!")
158 |
--------------------------------------------------------------------------------
/z80asm/z80asm.quickhelp:
--------------------------------------------------------------------------------
1 | Opcode Mnemonic T M M1 Notes
2 | -------------------------------------------------------------------------
3 | 00 NOP 4t 1 1
4 | 01 n n LD BC,nn 10t 3 1
5 | 02 LD (BC),A 7t 2 1
6 | 03 INC BC 6t 1 1
7 | 04 INC B 4t 1 1
8 | 05 DEC B 4t 1 1
9 | 06 n LD B,n 7t 2 1
10 | 07 RLCA 4t 1 1
11 | 08 EX AF,AF' 4t 1 1
12 | 09 ADD HL,BC 11t 3 1
13 | 0A LD A,(BC) 7t 2 1
14 | 0B DEC BC 6t 1 1
15 | 0C INC C 4t 1 1
16 | 0D DEC C 4t 1 1
17 | 0E n LD C,n 7t 2 1
18 | 0F RRCA 4t 1 1
19 | 10 e DJNZ (PC+e) 13t/8t 2/3 1/1 (met/not met)
20 | 11 n n LD DE,nn 10t 3 1
21 | 12 LD (DE),A 7t 2 1
22 | 13 INC DE 6t 1 1
23 | 14 INC D 4t 1 1
24 | 15 DEC D 4t 1 1
25 | 16 n LD D,n 7t 2 1
26 | 17 RLA 4t 1 1
27 | 18 e JR (PC+e) 12t 3 1
28 | 19 ADD HL,DE 11t 3 1
29 | 1A LD A,(DE) 7t 2 1
30 | 1B DEC DE 6t 1 1
31 | 1C INC E 4t 1 1
32 | 1D DEC E 4t 1 1
33 | 1E n LD E,n 7t 2 1
34 | 1F RRA 4t 1 1
35 | 20 e JR NZ,(PC+e) 12t/7t 3/2 1/1 (met/not met)
36 | 21 n n LD HL,nn 10t 3 1
37 | 22 n n LD (nn),HL 16t 5 3
38 | 23 INC HL 6t 1 1
39 | 24 INC H 4t 1 1
40 | 25 DEC H 4t 1 1
41 | 26 n LD H,n 7t 2 1
42 | 27 DAA 4t 1 1
43 | 28 e JR Z,(PC+e) 12t/7t 3/2 1/1 (met/not met)
44 | 29 ADD HL,HL 11t 3 1
45 | 2A n n LD HL,(nn) 16t 5 1
46 | 2B DEC HL 6t 1 1
47 | 2C INC L 4t 1 1
48 | 2D DEC L 4t 1 1
49 | 2E n LD L,n 7t 2 1
50 | 2F CPL 4t 1 1
51 | 30 e JR NC,(PC+e) 12t/7t 3/2 1/1 (met/not met)
52 | 31 n n LD SP,nn 10t 3 1
53 | 32 n n LD (nn),A 13t 4 1
54 | 33 INC SP 6t 1 1
55 | 34 INC (HL) 11t 3 1
56 | 35 DEC (HL) 11t 3 1
57 | 36 n LD (HL),n 10t 3 1
58 | 37 SCF 4t 1 1
59 | 38 e JR C,(PC+e) 12t/7t 3/2 1/1 (met/not met)
60 | 39 ADD HL,SP 11t 3 1
61 | 3A n n LD A,(nn) 13t 4 1
62 | 3B DEC SP 6t 1 1
63 | 3C INC A 4t 1 1
64 | 3D DEC A 4t 1 1
65 | 3E n LD A,n 7t 2 1
66 | 3F CCF 4t 1 1
67 | 40 LD B,B 4t 1 1
68 | 41 LD B,C 4t 1 1
69 | 42 LD B,D 4t 1 1
70 | 43 LD B,E 4t 1 1
71 | 44 LD B,H 4t 1 1
72 | 45 LD B,L 4t 1 1
73 | 46 LD B,(HL) 7t 2 1
74 | 47 LD B,A 4t 1 1
75 | 48 LD C,B 4t 1 1
76 | 49 LD C,C 4t 1 1
77 | 4A LD C,D 4t 1 1
78 | 4B LD C,E 4t 1 1
79 | 4C LD C,H 4t 1 1
80 | 4D LD C,L 4t 1 1
81 | 4E LD C,(HL) 7t 2 1
82 | 4F LD C,A 4t 1 1
83 | 50 LD D,B 4t 1 1
84 | 51 LD D,C 4t 1 1
85 | 52 LD D,D 4t 1 1
86 | 53 LD D,E 4t 1 1
87 | 54 LD D,H 4t 1 1
88 | 55 LD D,L 4t 1 1
89 | 56 LD D,(HL) 7t 2 1
90 | 57 LD D,A 4t 1 1
91 | 58 LD E,B 4t 1 1
92 | 59 LD E,C 4t 1 1
93 | 5A LD E,D 4t 1 1
94 | 5B LD E,E 4t 1 1
95 | 5C LD E,H 4t 1 1
96 | 5D LD E,L 4t 1 1
97 | 5E LD E,(HL) 7t 2 1
98 | 5F LD E,A 4t 1 1
99 | 60 LD H,B 4t 1 1
100 | 61 LD H,C 4t 1 1
101 | 62 LD H,D 4t 1 1
102 | 63 LD H,E 4t 1 1
103 | 64 LD H,H 4t 1 1
104 | 65 LD H,L 4t 1 1
105 | 66 LD H,(HL) 7t 2 1
106 | 67 LD H,A 4t 1 1
107 | 68 LD L,B 4t 1 1
108 | 69 LD L,C 4t 1 1
109 | 6A LD L,D 4t 1 1
110 | 6B LD L,E 4t 1 1
111 | 6C LD L,H 4t 1 1
112 | 6D LD L,L 4t 1 1
113 | 6E LD L,(HL) 7t 2 1
114 | 6F LD L,A 4t 1 1
115 | 70 LD (HL),B 7t 2 1
116 | 71 LD (HL),C 7t 2 1
117 | 72 LD (HL),D 7t 2 1
118 | 73 LD (HL),E 7t 2 1
119 | 74 LD (HL),H 7t 2 1
120 | 75 LD (HL),L 7t 2 1
121 | 76 HALT 4t 1 1 (repeated till next int)
122 | 77 LD (HL),A 7t 2 1
123 | 78 LD A,B 4t 1 1
124 | 79 LD A,C 4t 1 1
125 | 7A LD A,D 4t 1 1
126 | 7B LD A,E 4t 1 1
127 | 7C LD A,H 4t 1 1
128 | 7D LD A,L 4t 1 1
129 | 7E LD A,(HL) 7t 2 1
130 | 7F LD A,A 4t 1 1
131 | 80 ADD A,B 4t 1 1
132 | 81 ADD A,C 4t 1 1
133 | 82 ADD A,D 4t 1 1
134 | 83 ADD A,E 4t 1 1
135 | 84 ADD A,H 4t 1 1
136 | 85 ADD A,L 4t 1 1
137 | 86 ADD A,(HL) 7t 2 1
138 | 87 ADD A,A 4t 1 1
139 | 88 ADC A,B 4t 1 1
140 | 89 ADC A,C 4t 1 1
141 | 8A ADC A,D 4t 1 1
142 | 8B ADC A,E 4t 1 1
143 | 8C ADC A,H 4t 1 1
144 | 8D ADC A,L 4t 1 1
145 | 8E ADC A,(HL) 7t 2 1
146 | 8F ADC A,A 4t 1 1
147 | 90 SUB B 4t 1 1
148 | 91 SUB C 4t 1 1
149 | 92 SUB D 4t 1 1
150 | 93 SUB E 4t 1 1
151 | 94 SUB H 4t 1 1
152 | 95 SUB L 4t 1 1
153 | 96 SUB (HL) 7t 2 1
154 | 97 SUB A 4t 1 1
155 | 98 SBC A,B 4t 1 1
156 | 99 SBC A,C 4t 1 1
157 | 9A SBC A,D 4t 1 1
158 | 9B SBC A,E 4t 1 1
159 | 9C SBC A,H 4t 1 1
160 | 9D SBC A,L 4t 1 1
161 | 9E SBC A,(HL) 7t 2 1
162 | 9F SBC A,A 4t 1 1
163 | A0 AND B 4t 1 1
164 | A1 AND C 4t 1 1
165 | A2 AND D 4t 1 1
166 | A3 AND E 4t 1 1
167 | A4 AND H 4t 1 1
168 | A5 AND L 4t 1 1
169 | A6 AND (HL) 7t 2 1
170 | A7 AND A 4t 1 1
171 | A8 XOR B 4t 1 1
172 | A9 XOR C 4t 1 1
173 | AA XOR D 4t 1 1
174 | AB XOR E 4t 1 1
175 | AC XOR H 4t 1 1
176 | AD XOR L 4t 1 1
177 | AE XOR (HL) 7t 2 1
178 | AF XOR A 4t 1 1
179 | B0 OR B 4t 1 1
180 | B1 OR C 4t 1 1
181 | B2 OR D 4t 1 1
182 | B3 OR E 4t 1 1
183 | B4 OR H 4t 1 1
184 | B5 OR L 4t 1 1
185 | B6 OR (HL) 7t 2 1
186 | B7 OR A 4t 1 1
187 | B8 CP B 4t 1 1
188 | B9 CP C 4t 1 1
189 | BA CP D 4t 1 1
190 | BB CP E 4t 1 1
191 | BC CP H 4t 1 1
192 | BD CP L 4t 1 1
193 | BE CP (HL) 7t 2 1
194 | BF CP A 4t 1 1
195 | C0 RET NZ 11t/5t 3/1 1/1 (met/not met)
196 | C1 POP BC 10t 3 1
197 | C2 n n JP NZ,(nn) 10t 3 1 (met or not)
198 | C3 n n JP (nn) 10t 3 1
199 | C4 n n CALL NZ,(nn) 17t/10t 5/3 1/1 (met/not met)
200 | C5 PUSH BC 11t 3 1
201 | C6 n ADD A,n 7t 2 1
202 | C7 RST 0H 11t 3 1
203 | C8 RET Z 11t/5t 3/1 1/1 (met/not met)
204 | C9 RET 10t 3 1
205 | CA n n JP Z,(nn) 10t 3 1 (always same)
206 | CB00 RLC B 8t 2 2
207 | CB01 RLC C 8t 2 2
208 | CB02 RLC D 8t 2 2
209 | CB03 RLC E 8t 2 2
210 | CB04 RLC H 8t 2 2
211 | CB05 RLC L 8t 2 2
212 | CB06 RLC (HL) 15t 4 2
213 | CB07 RLC A 8t 2 2
214 | CB08 RRC B 8t 2 2
215 | CB09 RRC C 8t 2 2
216 | CB0A RRC D 8t 2 2
217 | CB0B RRC E 8t 2 2
218 | CB0C RRC H 8t 2 2
219 | CB0D RRC L 8t 2 2
220 | CB0E RRC (HL) 15t 4 2
221 | CB0F RRC A 8t 2 2
222 | CB10 RL B 8t 2 2
223 | CB11 RL C 8t 2 2
224 | CB12 RL D 8t 2 2
225 | CB13 RL E 8t 2 2
226 | CB14 RL H 8t 2 2
227 | CB15 RL L 8t 2 2
228 | CB16 RL (HL) 15t 4 2
229 | CB17 RL A 8t 2 2
230 | CB18 RR B 8t 2 2
231 | CB19 RR C 8t 2 2
232 | CB1A RR D 8t 2 2
233 | CB1B RR E 8t 2 2
234 | CB1C RR H 8t 2 2
235 | CB1D RR L 8t 2 2
236 | CB1E RR (HL) 15t 4 2
237 | CB1F RR A 8t 2 2
238 | CB20 SLA B 8t 2 2
239 | CB21 SLA C 8t 2 2
240 | CB22 SLA D 8t 2 2
241 | CB23 SLA E 8t 2 2
242 | CB24 SLA H 8t 2 2
243 | CB25 SLA L 8t 2 2
244 | CB26 SLA (HL) 15t 4 2
245 | CB27 SLA A 8t 2 2
246 | CB28 SRA B 8t 2 2
247 | CB29 SRA C 8t 2 2
248 | CB2A SRA D 8t 2 2
249 | CB2B SRA E 8t 2 2
250 | CB2C SRA H 8t 2 2
251 | CB2D SRA L 8t 2 2
252 | CB2E SRA (HL) 15t 4 2
253 | CB2F SRA A 8t 2 2
254 | CB30 SLL B* 8t 2 2
255 | CB31 SLL C* 8t 2 2
256 | CB32 SLL D* 8t 2 2
257 | CB33 SLL E* 8t 2 2
258 | CB34 SLL H* 8t 2 2
259 | CB35 SLL L* 8t 2 2
260 | CB36 SLL (HL)* 15t 4 2
261 | CB37 SLL A* 8t 2 2
262 | CB38 SRL B 8t 2 2
263 | CB39 SRL C 8t 2 2
264 | CB3A SRL D 8t 2 2
265 | CB3B SRL E 8t 2 2
266 | CB3C SRL H 8t 2 2
267 | CB3D SRL L 8t 2 2
268 | CB3E SRL (HL) 15t 4 2
269 | CB3F SRL A 8t 2 2
270 | CB40 BIT 0,B 8t 2 2
271 | CB41 BIT 0,C 8t 2 2
272 | CB42 BIT 0,D 8t 2 2
273 | CB43 BIT 0,E 8t 2 2
274 | CB44 BIT 0,H 8t 2 2
275 | CB45 BIT 0,L 8t 2 2
276 | CB46 BIT 0,(HL) 12t 3 2
277 | CB47 BIT 0,A 8t 2 2
278 | CB48 BIT 1,B 8t 2 2
279 | CB49 BIT 1,C 8t 2 2
280 | CB4A BIT 1,D 8t 2 2
281 | CB4B BIT 1,E 8t 2 2
282 | CB4C BIT 1,H 8t 2 2
283 | CB4D BIT 1,L 8t 2 2
284 | CB4E BIT 1,(HL) 12t 3 2
285 | CB4F BIT 1,A 8t 2 2
286 | CB50 BIT 2,B 8t 2 2
287 | CB51 BIT 2,C 8t 2 2
288 | CB52 BIT 2,D 8t 2 2
289 | CB53 BIT 2,E 8t 2 2
290 | CB54 BIT 2,H 8t 2 2
291 | CB55 BIT 2,L 8t 2 2
292 | CB56 BIT 2,(HL) 12t 3 2
293 | CB57 BIT 2,A 8t 2 2
294 | CB58 BIT 3,B 8t 2 2
295 | CB59 BIT 3,C 8t 2 2
296 | CB5A BIT 3,D 8t 2 2
297 | CB5B BIT 3,E 8t 2 2
298 | CB5C BIT 3,H 8t 2 2
299 | CB5D BIT 3,L 8t 2 2
300 | CB5E BIT 3,(HL) 12t 3 2
301 | CB5F BIT 3,A 8t 2 2
302 | CB60 BIT 4,B 8t 2 2
303 | CB61 BIT 4,C 8t 2 2
304 | CB62 BIT 4,D 8t 2 2
305 | CB63 BIT 4,E 8t 2 2
306 | CB64 BIT 4,H 8t 2 2
307 | CB65 BIT 4,L 8t 2 2
308 | CB66 BIT 4,(HL) 12t 3 2
309 | CB67 BIT 4,A 8t 2 2
310 | CB68 BIT 5,B 8t 2 2
311 | CB69 BIT 5,C 8t 2 2
312 | CB6A BIT 5,D 8t 2 2
313 | CB6B BIT 5,E 8t 2 2
314 | CB6C BIT 5,H 8t 2 2
315 | CB6D BIT 5,L 8t 2 2
316 | CB6E BIT 5,(HL) 12t 3 2
317 | CB6F BIT 5,A 8t 2 2
318 | CB70 BIT 6,B 8t 2 2
319 | CB71 BIT 6,C 8t 2 2
320 | CB72 BIT 6,D 8t 2 2
321 | CB73 BIT 6,E 8t 2 2
322 | CB74 BIT 6,H 8t 2 2
323 | CB75 BIT 6,L 8t 2 2
324 | CB76 BIT 6,(HL) 12t 3 2
325 | CB77 BIT 6,A 8t 2 2
326 | CB78 BIT 7,B 8t 2 2
327 | CB79 BIT 7,C 8t 2 2
328 | CB7A BIT 7,D 8t 2 2
329 | CB7B BIT 7,E 8t 2 2
330 | CB7C BIT 7,H 8t 2 2
331 | CB7D BIT 7,L 8t 2 2
332 | CB7E BIT 7,(HL) 12t 3 2
333 | CB7F BIT 7,A 8t 2 2
334 | CB80 RES 0,B 8t 2 2
335 | CB81 RES 0,C 8t 2 2
336 | CB82 RES 0,D 8t 2 2
337 | CB83 RES 0,E 8t 2 2
338 | CB84 RES 0,H 8t 2 2
339 | CB85 RES 0,L 8t 2 2
340 | CB86 RES 0,(HL) 15t 4 2
341 | CB87 RES 0,A 8t 2 2
342 | CB88 RES 1,B 8t 2 2
343 | CB89 RES 1,C 8t 2 2
344 | CB8A RES 1,D 8t 2 2
345 | CB8B RES 1,E 8t 2 2
346 | CB8C RES 1,H 8t 2 2
347 | CB8D RES 1,L 8t 2 2
348 | CB8E RES 1,(HL) 15t 4 2
349 | CB8F RES 1,A 8t 2 2
350 | CB90 RES 2,B 8t 2 2
351 | CB91 RES 2,C 8t 2 2
352 | CB92 RES 2,D 8t 2 2
353 | CB93 RES 2,E 8t 2 2
354 | CB94 RES 2,H 8t 2 2
355 | CB95 RES 2,L 8t 2 2
356 | CB96 RES 2,(HL) 15t 4 2
357 | CB97 RES 2,A 8t 2 2
358 | CB98 RES 3,B 8t 2 2
359 | CB99 RES 3,C 8t 2 2
360 | CB9A RES 3,D 8t 2 2
361 | CB9B RES 3,E 8t 2 2
362 | CB9C RES 3,H 8t 2 2
363 | CB9D RES 3,L 8t 2 2
364 | CB9E RES 3,(HL) 15t 4 2
365 | CB9F RES 3,A 8t 2 2
366 | CBA0 RES 4,B 8t 2 2
367 | CBA1 RES 4,C 8t 2 2
368 | CBA2 RES 4,D 8t 2 2
369 | CBA3 RES 4,E 8t 2 2
370 | CBA4 RES 4,H 8t 2 2
371 | CBA5 RES 4,L 8t 2 2
372 | CBA6 RES 4,(HL) 15t 4 2
373 | CBA7 RES 4,A 8t 2 2
374 | CBA8 RES 5,B 8t 2 2
375 | CBA9 RES 5,C 8t 2 2
376 | CBAA RES 5,D 8t 2 2
377 | CBAB RES 5,E 8t 2 2
378 | CBAC RES 5,H 8t 2 2
379 | CBAD RES 5,L 8t 2 2
380 | CBAE RES 5,(HL) 15t 4 2
381 | CBAF RES 5,A 8t 2 2
382 | CBB0 RES 6,B 8t 2 2
383 | CBB1 RES 6,C 8t 2 2
384 | CBB2 RES 6,D 8t 2 2
385 | CBB3 RES 6,E 8t 2 2
386 | CBB4 RES 6,H 8t 2 2
387 | CBB5 RES 6,L 8t 2 2
388 | CBB6 RES 6,(HL) 15t 4 2
389 | CBB7 RES 6,A 8t 2 2
390 | CBB8 RES 7,B 8t 2 2
391 | CBB9 RES 7,C 8t 2 2
392 | CBBA RES 7,D 8t 2 2
393 | CBBB RES 7,E 8t 2 2
394 | CBBC RES 7,H 8t 2 2
395 | CBBD RES 7,L 8t 2 2
396 | CBBE RES 7,(HL) 15t 4 2
397 | CBBF RES 7,A 8t 2 2
398 | CBC0 SET 0,B 8t 2 2
399 | CBC1 SET 0,C 8t 2 2
400 | CBC2 SET 0,D 8t 2 2
401 | CBC3 SET 0,E 8t 2 2
402 | CBC4 SET 0,H 8t 2 2
403 | CBC5 SET 0,L 8t 2 2
404 | CBC6 SET 0,(HL) 15t 4 2
405 | CBC7 SET 0,A 8t 2 2
406 | CBC8 SET 1,B 8t 2 2
407 | CBC9 SET 1,C 8t 2 2
408 | CBCA SET 1,D 8t 2 2
409 | CBCB SET 1,E 8t 2 2
410 | CBCC SET 1,H 8t 2 2
411 | CBCD SET 1,L 8t 2 2
412 | CBCE SET 1,(HL) 15t 4 2
413 | CBCF SET 1,A 8t 2 2
414 | CBD0 SET 2,B 8t 2 2
415 | CBD1 SET 2,C 8t 2 2
416 | CBD2 SET 2,D 8t 2 2
417 | CBD3 SET 2,E 8t 2 2
418 | CBD4 SET 2,H 8t 2 2
419 | CBD5 SET 2,L 8t 2 2
420 | CBD6 SET 2,(HL) 15t 4 2
421 | CBD7 SET 2,A 8t 2 2
422 | CBD8 SET 3,B 8t 2 2
423 | CBD9 SET 3,C 8t 2 2
424 | CBDA SET 3,D 8t 2 2
425 | CBDB SET 3,E 8t 2 2
426 | CBDC SET 3,H 8t 2 2
427 | CBDD SET 3,L 8t 2 2
428 | CBDE SET 3,(HL) 15t 4 2
429 | CBDF SET 3,A 8t 2 2
430 | CBE0 SET 4,B 8t 2 2
431 | CBE1 SET 4,C 8t 2 2
432 | CBE2 SET 4,D 8t 2 2
433 | CBE3 SET 4,E 8t 2 2
434 | CBE4 SET 4,H 8t 2 2
435 | CBE5 SET 4,L 8t 2 2
436 | CBE6 SET 4,(HL) 15t 4 2
437 | CBE7 SET 4,A 8t 2 2
438 | CBE8 SET 5,B 8t 2 2
439 | CBE9 SET 5,C 8t 2 2
440 | CBEA SET 5,D 8t 2 2
441 | CBEB SET 5,E 8t 2 2
442 | CBEC SET 5,H 8t 2 2
443 | CBED SET 5,L 8t 2 2
444 | CBEE SET 5,(HL) 15t 4 2
445 | CBEF SET 5,A 8t 2 2
446 | CBF0 SET 6,B 8t 2 2
447 | CBF1 SET 6,C 8t 2 2
448 | CBF2 SET 6,D 8t 2 2
449 | CBF3 SET 6,E 8t 2 2
450 | CBF4 SET 6,H 8t 2 2
451 | CBF5 SET 6,L 8t 2 2
452 | CBF6 SET 6,(HL) 15t 4 2
453 | CBF7 SET 6,A 8t 2 2
454 | CBF8 SET 7,B 8t 2 2
455 | CBF9 SET 7,C 8t 2 2
456 | CBFA SET 7,D 8t 2 2
457 | CBFB SET 7,E 8t 2 2
458 | CBFC SET 7,H 8t 2 2
459 | CBFD SET 7,L 8t 2 2
460 | CBFE SET 7,(HL) 15t 4 2
461 | CBFF SET 7,A 8t 2 2
462 | CC n n CALL Z,(nn) 17t/10t 5/3 1/1 (met/not met)
463 | CD n n CALL (nn) 17t 5 1
464 | CE n ADC A,n 7t 2 1
465 | CF RST 8H 11t 3 1
466 | D0 RET NC 11t/5t 1 1
467 | D1 POP DE 10t 3 1
468 | D2 n n JP NC,(nn) 10t 3 1 (met or not)
469 | D3 n OUT (n),A 11t 3 1
470 | D4 n n CALL NC,(nn) 17t/10t 5/3 1/1 (met/not met)
471 | D5 PUSH DE 11t 3 1
472 | D6 n SUB n 7t 2 1
473 | D7 RST 10H 11t 3 1
474 | D8 RET C 11t/5t 1 1
475 | D9 EXX 4t 1 1
476 | DA n n JP C,(nn) 10t 3 1 (met or not)
477 | DB n IN A,(n) 11t 3 1
478 | DC n n CALL C,(nn) 17t/10t 5/3 1
479 | DD09 ADD IX,BC 15t
480 | DD19 ADD IX,DE 15t
481 | DD21 n n LD IX,nn 14t
482 | DD22 n n LD (nn),IX 20t
483 | DD23 INC IX 10t
484 | DD24 INC IXH* 8t
485 | DD25 DEC IXH* 8t
486 | DD26 n LD IXH,n* 11t
487 | DD29 ADD IX,IX 15t
488 | DD2A n n LD IX,(nn) 20t
489 | DD2B DEC IX 10t
490 | DD2C INC IXL* 8t
491 | DD2D DEC IXL* 8t
492 | DD2E n LD IXL,n* 11t
493 | DD34 d INC (IX+d) 23t
494 | DD35 d DEC (IX+d) 23t
495 | DD36 d n LD (IX+d),n 19t
496 | DD39 ADD IX,SP 15t
497 | DD44 LD B,IXH* 8t
498 | DD45 LD B,IXL* 8t
499 | DD46 d LD B,(IX+d) 19t
500 | DD4C LD C,IXH* 8t
501 | DD4D LD C,IXL* 8t
502 | DD4E d LD C,(IX+d) 19t
503 | DD54 LD D,IXH* 8t
504 | DD55 LD D,IXL* 8t
505 | DD56 d LD D,(IX+d) 19t
506 | DD5C LD E,IXH* 8t
507 | DD5D LD E,IXL* 8t
508 | DD5E d LD E,(IX+d) 19t
509 | DD60 LD IXH,B* 8t
510 | DD61 LD IXH,C* 8t
511 | DD62 LD IXH,D* 8t
512 | DD63 LD IXH,E* 8t
513 | DD64 LD IXH,IXH* 8t
514 | DD65 LD IXH,IXL* 8t
515 | DD66 d LD H,(IX+d) 19t
516 | DD67 LD IXH,A* 8t
517 | DD68 LD IXL,B* 8t
518 | DD69 LD IXL,C* 8t
519 | DD6A LD IXL,D* 8t
520 | DD6B LD IXL,E* 8t
521 | DD6C LD IXL,IXH* 8t
522 | DD6D LD IXL,IXL* 8t
523 | DD6E d LD L,(IX+d) 19t
524 | DD6F LD IXL,A* 8t
525 | DD70 d LD (IX+d),B 19t
526 | DD71 d LD (IX+d),C 19t
527 | DD72 d LD (IX+d),D 19t
528 | DD73 d LD (IX+d),E 19t
529 | DD74 d LD (IX+d),H 19t
530 | DD75 d LD (IX+d),L 19t
531 | DD77 d LD (IX+d),A 19t
532 | DD7C LD A,IXH* 8t
533 | DD7D LD A,IXL* 8t
534 | DD7E d LD A,(IX+d) 19t
535 | DD84 ADD A,IXH* 8t
536 | DD85 ADD A,IXL* 8t
537 | DD86 d ADD A,(IX+d) 19t
538 | DD8C ADC A,IXH* 8t
539 | DD8D ADC A,IXL* 8t
540 | DD8E d ADC A,(IX+d) 19t
541 | DD94 SUB IXH* 8t
542 | DD95 SUB IXL* 8t
543 | DD96 d SUB (IX+d) 19t
544 | DD9C SBC A,IXH* 8t
545 | DD9D SBC A,IXL* 8t
546 | DD9E d SBC A,(IX+d) 19t
547 | DDA4 AND IXH* 8t
548 | DDA5 AND IXL* 8t
549 | DDA6 d AND (IX+d) 19t
550 | DDAC XOR IXH* 8t
551 | DDAD XOR IXL* 8t
552 | DDAE d XOR (IX+d) 19t
553 | DDB4 OR IXH* 8t
554 | DDB5 OR IXL* 8t
555 | DDB6 d OR (IX+d) 19t
556 | DDBC CP IXH* 8t
557 | DDBD CP IXL* 8t
558 | DDBE d CP (IX+d) 19t
559 | DDCB d 00 LD B,RLC (IX+d)* 23t
560 | DDCB d 01 LD C,RLC (IX+d)* 23t
561 | DDCB d 02 LD D,RLC (IX+d)* 23t
562 | DDCB d 03 LD E,RLC (IX+d)* 23t
563 | DDCB d 04 LD H,RLC (IX+d)* 23t
564 | DDCB d 05 LD L,RLC (IX+d)* 23t
565 | DDCB d 06 RLC (IX+d) 23t
566 | DDCB d 07 LD A,RLC (IX+d)* 23t
567 | DDCB d 08 LD B,RRC (IX+d)* 23t
568 | DDCB d 09 LD C,RRC (IX+d)* 23t
569 | DDCB d 0A LD D,RRC (IX+d)* 23t
570 | DDCB d 0B LD E,RRC (IX+d)* 23t
571 | DDCB d 0C LD H,RRC (IX+d)* 23t
572 | DDCB d 0D LD L,RRC (IX+d)* 23t
573 | DDCB d 0E RRC (IX+d) 23t
574 | DDCB d 0F LD A,RRC (IX+d)* 23t
575 | DDCB d 10 LD B,RL (IX+d)* 23t
576 | DDCB d 11 LD C,RL (IX+d)* 23t
577 | DDCB d 12 LD D,RL (IX+d)* 23t
578 | DDCB d 13 LD E,RL (IX+d)* 23t
579 | DDCB d 14 LD H,RL (IX+d)* 23t
580 | DDCB d 15 LD L,RL (IX+d)* 23t
581 | DDCB d 16 RL (IX+d) 23t
582 | DDCB d 17 LD A,RL (IX+d)* 23t
583 | DDCB d 18 LD B,RR (IX+d)* 23t
584 | DDCB d 19 LD C,RR (IX+d)* 23t
585 | DDCB d 1A LD D,RR (IX+d)* 23t
586 | DDCB d 1B LD E,RR (IX+d)* 23t
587 | DDCB d 1C LD H,RR (IX+d)* 23t
588 | DDCB d 1D LD L,RR (IX+d)* 23t
589 | DDCB d 1E RR (IX+d) 23t
590 | DDCB d 1F LD A,RR (IX+d)* 23t
591 | DDCB d 20 LD B,SLA (IX+d)* 23t
592 | DDCB d 21 LD C,SLA (IX+d)* 23t
593 | DDCB d 22 LD D,SLA (IX+d)* 23t
594 | DDCB d 23 LD E,SLA (IX+d)* 23t
595 | DDCB d 24 LD H,SLA (IX+d)* 23t
596 | DDCB d 25 LD L,SLA (IX+d)* 23t
597 | DDCB d 26 SLA (IX+d) 23t
598 | DDCB d 27 LD A,SLA (IX+d)* 23t
599 | DDCB d 28 LD B,SRA (IX+d)* 23t
600 | DDCB d 29 LD C,SRA (IX+d)* 23t
601 | DDCB d 2A LD D,SRA (IX+d)* 23t
602 | DDCB d 2B LD E,SRA (IX+d)* 23t
603 | DDCB d 2C LD H,SRA (IX+d)* 23t
604 | DDCB d 2D LD L,SRA (IX+d)* 23t
605 | DDCB d 2E SRA (IX+d) 23t
606 | DDCB d 2F LD A,SRA (IX+d)* 23t
607 | DDCB d 30 LD B,SLL (IX+d)* 23t
608 | DDCB d 31 LD C,SLL (IX+d)* 23t
609 | DDCB d 32 LD D,SLL (IX+d)* 23t
610 | DDCB d 33 LD E,SLL (IX+d)* 23t
611 | DDCB d 34 LD H,SLL (IX+d)* 23t
612 | DDCB d 35 LD L,SLL (IX+d)* 23t
613 | DDCB d 36 SLL (IX+d)* 23t
614 | DDCB d 37 LD A,SLL (IX+d)* 23t
615 | DDCB d 38 LD B,SRL (IX+d)* 23t
616 | DDCB d 39 LD C,SRL (IX+d)* 23t
617 | DDCB d 3A LD D,SRL (IX+d)* 23t
618 | DDCB d 3B LD E,SRL (IX+d)* 23t
619 | DDCB d 3C LD H,SRL (IX+d)* 23t
620 | DDCB d 3D LD L,SRL (IX+d)* 23t
621 | DDCB d 3E SRL (IX+d) 23t
622 | DDCB d 3F LD A,SRL (IX+d)* 23t
623 | DDCB d 40 BIT 0,(IX+d)* 23t
624 | DDCB d 41 BIT 0,(IX+d)* 23t
625 | DDCB d 42 BIT 0,(IX+d)* 23t
626 | DDCB d 43 BIT 0,(IX+d)* 23t
627 | DDCB d 44 BIT 0,(IX+d)* 23t
628 | DDCB d 45 BIT 0,(IX+d)* 23t
629 | DDCB d 46 BIT 0,(IX+d) 23t
630 | DDCB d 47 BIT 0,(IX+d)* 23t
631 | DDCB d 48 BIT 1,(IX+d)* 23t
632 | DDCB d 49 BIT 1,(IX+d)* 23t
633 | DDCB d 4A BIT 1,(IX+d)* 23t
634 | DDCB d 4B BIT 1,(IX+d)* 23t
635 | DDCB d 4C BIT 1,(IX+d)* 23t
636 | DDCB d 4D BIT 1,(IX+d)* 23t
637 | DDCB d 4E BIT 1,(IX+d) 23t
638 | DDCB d 4F BIT 1,(IX+d)* 23t
639 | DDCB d 50 BIT 2,(IX+d)* 23t
640 | DDCB d 51 BIT 2,(IX+d)* 23t
641 | DDCB d 52 BIT 2,(IX+d)* 23t
642 | DDCB d 53 BIT 2,(IX+d)* 23t
643 | DDCB d 54 BIT 2,(IX+d)* 23t
644 | DDCB d 55 BIT 2,(IX+d)* 23t
645 | DDCB d 56 BIT 2,(IX+d) 23t
646 | DDCB d 57 BIT 2,(IX+d)* 23t
647 | DDCB d 58 BIT 3,(IX+d)* 23t
648 | DDCB d 59 BIT 3,(IX+d)* 23t
649 | DDCB d 5A BIT 3,(IX+d)* 23t
650 | DDCB d 5B BIT 3,(IX+d)* 23t
651 | DDCB d 5C BIT 3,(IX+d)* 23t
652 | DDCB d 5D BIT 3,(IX+d)* 23t
653 | DDCB d 5E BIT 3,(IX+d) 23t
654 | DDCB d 5F BIT 3,(IX+d)* 23t
655 | DDCB d 60 BIT 4,(IX+d)* 23t
656 | DDCB d 61 BIT 4,(IX+d)* 23t
657 | DDCB d 62 BIT 4,(IX+d)* 23t
658 | DDCB d 63 BIT 4,(IX+d)* 23t
659 | DDCB d 64 BIT 4,(IX+d)* 23t
660 | DDCB d 65 BIT 4,(IX+d)* 23t
661 | DDCB d 66 BIT 4,(IX+d) 23t
662 | DDCB d 67 BIT 4,(IX+d)* 23t
663 | DDCB d 68 BIT 5,(IX+d)* 23t
664 | DDCB d 69 BIT 5,(IX+d)* 23t
665 | DDCB d 6A BIT 5,(IX+d)* 23t
666 | DDCB d 6B BIT 5,(IX+d)* 23t
667 | DDCB d 6C BIT 5,(IX+d)* 23t
668 | DDCB d 6D BIT 5,(IX+d)* 23t
669 | DDCB d 6E BIT 5,(IX+d) 23t
670 | DDCB d 6F BIT 5,(IX+d)* 23t
671 | DDCB d 70 BIT 6,(IX+d)* 23t
672 | DDCB d 71 BIT 6,(IX+d)* 23t
673 | DDCB d 72 BIT 6,(IX+d)* 23t
674 | DDCB d 73 BIT 6,(IX+d)* 23t
675 | DDCB d 74 BIT 6,(IX+d)* 23t
676 | DDCB d 75 BIT 6,(IX+d)* 23t
677 | DDCB d 76 BIT 6,(IX+d) 23t
678 | DDCB d 77 BIT 6,(IX+d)* 23t
679 | DDCB d 78 BIT 7,(IX+d)* 23t
680 | DDCB d 79 BIT 7,(IX+d)* 23t
681 | DDCB d 7A BIT 7,(IX+d)* 23t
682 | DDCB d 7B BIT 7,(IX+d)* 23t
683 | DDCB d 7C BIT 7,(IX+d)* 23t
684 | DDCB d 7D BIT 7,(IX+d)* 23t
685 | DDCB d 7E BIT 7,(IX+d) 23t
686 | DDCB d 7F BIT 7,(IX+d)* 23t
687 | DDCB d 80 LD B,RES 0,(IX+d)* 23t
688 | DDCB d 81 LD C,RES 0,(IX+d)* 23t
689 | DDCB d 82 LD D,RES 0,(IX+d)* 23t
690 | DDCB d 83 LD E,RES 0,(IX+d)* 23t
691 | DDCB d 84 LD H,RES 0,(IX+d)* 23t
692 | DDCB d 85 LD L,RES 0,(IX+d)* 23t
693 | DDCB d 86 RES 0,(IX+d) 23t
694 | DDCB d 87 LD A,RES 0,(IX+d)* 23t
695 | DDCB d 88 LD B,RES 1,(IX+d)* 23t
696 | DDCB d 89 LD C,RES 1,(IX+d)* 23t
697 | DDCB d 8A LD D,RES 1,(IX+d)* 23t
698 | DDCB d 8B LD E,RES 1,(IX+d)* 23t
699 | DDCB d 8C LD H,RES 1,(IX+d)* 23t
700 | DDCB d 8D LD L,RES 1,(IX+d)* 23t
701 | DDCB d 8E RES 1,(IX+d) 23t
702 | DDCB d 8F LD A,RES 1,(IX+d)* 23t
703 | DDCB d 90 LD B,RES 2,(IX+d)* 23t
704 | DDCB d 91 LD C,RES 2,(IX+d)* 23t
705 | DDCB d 92 LD D,RES 2,(IX+d)* 23t
706 | DDCB d 93 LD E,RES 2,(IX+d)* 23t
707 | DDCB d 94 LD H,RES 2,(IX+d)* 23t
708 | DDCB d 95 LD L,RES 2,(IX+d)* 23t
709 | DDCB d 96 RES 2,(IX+d) 23t
710 | DDCB d 97 LD A,RES 2,(IX+d)* 23t
711 | DDCB d 98 LD B,RES 3,(IX+d)* 23t
712 | DDCB d 99 LD C,RES 3,(IX+d)* 23t
713 | DDCB d 9A LD D,RES 3,(IX+d)* 23t
714 | DDCB d 9B LD E,RES 3,(IX+d)* 23t
715 | DDCB d 9C LD H,RES 3,(IX+d)* 23t
716 | DDCB d 9D LD L,RES 3,(IX+d)* 23t
717 | DDCB d 9E RES 3,(IX+d) 23t
718 | DDCB d 9F LD A,RES 3,(IX+d)* 23t
719 | DDCB d A0 LD B,RES 4,(IX+d)* 23t
720 | DDCB d A1 LD C,RES 4,(IX+d)* 23t
721 | DDCB d A2 LD D,RES 4,(IX+d)* 23t
722 | DDCB d A3 LD E,RES 4,(IX+d)* 23t
723 | DDCB d A4 LD H,RES 4,(IX+d)* 23t
724 | DDCB d A5 LD L,RES 4,(IX+d)* 23t
725 | DDCB d A6 RES 4,(IX+d) 23t
726 | DDCB d A7 LD A,RES 4,(IX+d)* 23t
727 | DDCB d A8 LD B,RES 5,(IX+d)* 23t
728 | DDCB d A9 LD C,RES 5,(IX+d)* 23t
729 | DDCB d AA LD D,RES 5,(IX+d)* 23t
730 | DDCB d AB LD E,RES 5,(IX+d)* 23t
731 | DDCB d AC LD H,RES 5,(IX+d)* 23t
732 | DDCB d AD LD L,RES 5,(IX+d)* 23t
733 | DDCB d AE RES 5,(IX+d) 23t
734 | DDCB d AF LD A,RES 5,(IX+d)* 23t
735 | DDCB d B0 LD B,RES 6,(IX+d)* 23t
736 | DDCB d B1 LD C,RES 6,(IX+d)* 23t
737 | DDCB d B2 LD D,RES 6,(IX+d)* 23t
738 | DDCB d B3 LD E,RES 6,(IX+d)* 23t
739 | DDCB d B4 LD H,RES 6,(IX+d)* 23t
740 | DDCB d B5 LD L,RES 6,(IX+d)* 23t
741 | DDCB d B6 RES 6,(IX+d) 23t
742 | DDCB d B7 LD A,RES 6,(IX+d)* 23t
743 | DDCB d B8 LD B,RES 7,(IX+d)* 23t
744 | DDCB d B9 LD C,RES 7,(IX+d)* 23t
745 | DDCB d BA LD D,RES 7,(IX+d)* 23t
746 | DDCB d BB LD E,RES 7,(IX+d)* 23t
747 | DDCB d BC LD H,RES 7,(IX+d)* 23t
748 | DDCB d BD LD L,RES 7,(IX+d)* 23t
749 | DDCB d BE RES 7,(IX+d) 23t
750 | DDCB d BF LD A,RES 7,(IX+d)* 23t
751 | DDCB d C0 LD B,SET 0,(IX+d)* 23t
752 | DDCB d C1 LD C,SET 0,(IX+d)* 23t
753 | DDCB d C2 LD D,SET 0,(IX+d)* 23t
754 | DDCB d C3 LD E,SET 0,(IX+d)* 23t
755 | DDCB d C4 LD H,SET 0,(IX+d)* 23t
756 | DDCB d C5 LD L,SET 0,(IX+d)* 23t
757 | DDCB d C6 SET 0,(IX+d) 23t
758 | DDCB d C7 LD A,SET 0,(IX+d)* 23t
759 | DDCB d C8 LD B,SET 1,(IX+d)* 23t
760 | DDCB d C9 LD C,SET 1,(IX+d)* 23t
761 | DDCB d CA LD D,SET 1,(IX+d)* 23t
762 | DDCB d CB LD E,SET 1,(IX+d)* 23t
763 | DDCB d CC LD H,SET 1,(IX+d)* 23t
764 | DDCB d CD LD L,SET 1,(IX+d)* 23t
765 | DDCB d CE SET 1,(IX+d) 23t
766 | DDCB d CF LD A,SET 1,(IX+d)* 23t
767 | DDCB d D0 LD B,SET 2,(IX+d)* 23t
768 | DDCB d D1 LD C,SET 2,(IX+d)* 23t
769 | DDCB d D2 LD D,SET 2,(IX+d)* 23t
770 | DDCB d D3 LD E,SET 2,(IX+d)* 23t
771 | DDCB d D4 LD H,SET 2,(IX+d)* 23t
772 | DDCB d D5 LD L,SET 2,(IX+d)* 23t
773 | DDCB d D6 SET 2,(IX+d) 23t
774 | DDCB d D7 LD A,SET 2,(IX+d)* 23t
775 | DDCB d D8 LD B,SET 3,(IX+d)* 23t
776 | DDCB d D9 LD C,SET 3,(IX+d)* 23t
777 | DDCB d DA LD D,SET 3,(IX+d)* 23t
778 | DDCB d DB LD E,SET 3,(IX+d)* 23t
779 | DDCB d DC LD H,SET 3,(IX+d)* 23t
780 | DDCB d DD LD L,SET 3,(IX+d)* 23t
781 | DDCB d DE SET 3,(IX+d) 23t
782 | DDCB d DF LD A,SET 3,(IX+d)* 23t
783 | DDCB d E0 LD B,SET 4,(IX+d)* 23t
784 | DDCB d E1 LD C,SET 4,(IX+d)* 23t
785 | DDCB d E2 LD D,SET 4,(IX+d)* 23t
786 | DDCB d E3 LD E,SET 4,(IX+d)* 23t
787 | DDCB d E4 LD H,SET 4,(IX+d)* 23t
788 | DDCB d E5 LD L,SET 4,(IX+d)* 23t
789 | DDCB d E6 SET 4,(IX+d) 23t
790 | DDCB d E7 LD A,SET 4,(IX+d)* 23t
791 | DDCB d E8 LD B,SET 5,(IX+d)* 23t
792 | DDCB d E9 LD C,SET 5,(IX+d)* 23t
793 | DDCB d EA LD D,SET 5,(IX+d)* 23t
794 | DDCB d EB LD E,SET 5,(IX+d)* 23t
795 | DDCB d EC LD H,SET 5,(IX+d)* 23t
796 | DDCB d ED LD L,SET 5,(IX+d)* 23t
797 | DDCB d EE SET 5,(IX+d) 23t
798 | DDCB d EF LD A,SET 5,(IX+d)* 23t
799 | DDCB d F0 LD B,SET 6,(IX+d)* 23t
800 | DDCB d F1 LD C,SET 6,(IX+d)* 23t
801 | DDCB d F2 LD D,SET 6,(IX+d)* 23t
802 | DDCB d F3 LD E,SET 6,(IX+d)* 23t
803 | DDCB d F4 LD H,SET 6,(IX+d)* 23t
804 | DDCB d F5 LD L,SET 6,(IX+d)* 23t
805 | DDCB d F6 SET 6,(IX+d) 23t
806 | DDCB d F7 LD A,SET 6,(IX+d)* 23t
807 | DDCB d F8 LD B,SET 7,(IX+d)* 23t
808 | DDCB d F9 LD C,SET 7,(IX+d)* 23t
809 | DDCB d FA LD D,SET 7,(IX+d)* 23t
810 | DDCB d FB LD E,SET 7,(IX+d)* 23t
811 | DDCB d FC LD H,SET 7,(IX+d)* 23t
812 | DDCB d FD LD L,SET 7,(IX+d)* 23t
813 | DDCB d FE SET 7,(IX+d) 23t
814 | DDCB d FF LD A,SET 7,(IX+d)* 23t
815 | DDE1 POP IX 14t
816 | DDE3 EX (SP),IX 23t
817 | DDE5 PUSH IX 15t
818 | DDE9 JP (IX) 8t
819 | DDF9 LD SP,IX 10t
820 | DE n SBC A,n 7t
821 | DF RST 18H 11t
822 | E0 RET PO 11t/5t
823 | E1 POP HL 10t
824 | E2 n n JP PO,(nn) 10t
825 | E3 EX (SP),HL 19
826 | E4 n n CALL PO,(nn) 17t/10t
827 | E5 PUSH HL 11t
828 | E6 n AND n 7t
829 | E7 RST 20H 11t
830 | E8 RET PE 11t/5t
831 | E9 JP (HL) 4t
832 | EA n n JP PE,(nn) 10t
833 | EB EX DE,HL 4t
834 | EC n n CALL PE,(nn) 17t/10t
835 | ED40 IN B,(C) 12t
836 | ED41 OUT (C),B 12t
837 | ED42 SBC HL,BC 15t
838 | ED43 n n LD (nn),BC 20t
839 | ED44 NEG 8t
840 | ED45 RETN 14t
841 | ED46 IM 0 8t
842 | ED47 LD I,A 9t
843 | ED48 IN C,(C) 12t
844 | ED49 OUT (C),C 12t
845 | ED4A ADC HL,BC 15t
846 | ED4B n n LD BC,(nn) 20t
847 | ED4C NEG* 8t
848 | ED4D RETI 14t
849 | ED4E IM 0/1* 8t
850 | ED4F LD R,A 9t
851 | ED50 IN D,(C) 12t
852 | ED51 OUT (C),D 12t
853 | ED52 SBC HL,DE 15t
854 | ED53 n n LD (nn),DE 20t
855 | ED54 NEG* 8t
856 | ED55 RETN* 14t
857 | ED56 IM 1 8t
858 | ED57 LD A,I 9t
859 | ED58 IN E,(C) 12t
860 | ED59 OUT (C),E 12t
861 | ED5A ADC HL,DE 15t
862 | ED5B n n LD DE,(nn) 20t
863 | ED5C NEG* 8t
864 | ED5D RETN* 14t
865 | ED5E IM 2 8t
866 | ED5F LD A,R 9t
867 | ED60 IN H,(C) 12t
868 | ED61 OUT (C),H 12t
869 | ED62 SBC HL,HL 15t
870 | ED63 n n LD (nn),HL 20t
871 | ED64 NEG* 8t
872 | ED65 RETN* 14t
873 | ED66 IM 0* 8t
874 | ED67 RRD 18t
875 | ED68 IN L,(C) 12t
876 | ED69 OUT (C),L 12t
877 | ED6A ADC HL,HL 15t
878 | ED6B n n LD HL,(nn) 20t
879 | ED6C NEG* 8t
880 | ED6D RETN* 14t
881 | ED6E IM 0/1* 8t
882 | ED6F RLD 18t
883 | ED70 IN F,(C)* / IN (C)* 12t
884 | ED71 OUT (C),0* 12t
885 | ED72 SBC HL,SP 15t
886 | ED73 n n LD (nn),SP 20t
887 | ED74 NEG* 8t
888 | ED75 RETN* 14t
889 | ED76 IM 1* 8t
890 | ED78 IN A,(C) 12t
891 | ED79 OUT (C),A 12t
892 | ED7A ADC HL,SP 15t
893 | ED7B n n LD SP,(nn) 20t
894 | ED7C NEG* 8t
895 | ED7D RETN* 14t
896 | ED7E IM 2* 8t
897 | EDA0 LDI 16t
898 | EDA1 CPI 16t
899 | EDA2 INI 16t
900 | EDA3 OUTI 16t
901 | EDA8 LDD 16t
902 | EDA9 CPD 16t
903 | EDAA IND 16t
904 | EDAB OUTD 16t
905 | EDB0 LDIR 21t/16t
906 | EDB1 CPIR 21t/16t
907 | EDB2 INIR 21t/16t
908 | EDB3 OTIR 21t/16t
909 | EDB8 LDDR 21t/16t
910 | EDB9 CPDR 21t/16t
911 | EDBA INDR 21t/16t
912 | EDBB OTDR 21t/16t
913 | EE n XOR n 7t
914 | EF RST 28H 11t
915 | F0 RET P 11t/5t
916 | F1 POP AF 10t
917 | F2 n n JP P,(nn) 10t
918 | F3 DI 4t
919 | F4 n n CALL P,(nn) 17t/10t
920 | F5 PUSH AF 11t
921 | F6 n OR n 7t
922 | F7 RST 30H 11t
923 | F8 RET M 11t/5t
924 | F9 LD SP,HL 6t
925 | FA n n JP M,(nn) 10t
926 | FB EI 4t
927 | FC n n CALL M,(nn) 17t/10t
928 | FD09 ADD IY,BC 15t
929 | FD19 ADD IY,DE 15t
930 | FD21 n n LD IY,nn 14t
931 | FD22 n n LD (nn),IY 20t
932 | FD23 INC IY 10t
933 | FD24 INC IYH* 8t
934 | FD25 DEC IYH* 8t
935 | FD26 n LD IYH,n* 11t
936 | FD29 ADD IY,IY 15t
937 | FD2A n n LD IY,(nn) 20t
938 | FD2B DEC IY 10t
939 | FD2C INC IYL* 8t
940 | FD2D DEC IYL* 8t
941 | FD2E n LD IYL,n* 11t
942 | FD34 d INC (IY+d) 23t
943 | FD35 d DEC (IY+d) 23t
944 | FD36 d n LD (IY+d),n 19t
945 | FD39 ADD IY,SP 15t
946 | FD44 LD B,IYH* 8t
947 | FD45 LD B,IYL* 8t
948 | FD46 d LD B,(IY+d) 19t
949 | FD4C LD C,IYH* 8t
950 | FD4D LD C,IYL* 8t
951 | FD4E d LD C,(IY+d) 19t
952 | FD54 LD D,IYH* 8t
953 | FD55 LD D,IYL* 8t
954 | FD56 d LD D,(IY+d) 19t
955 | FD5C LD E,IYH* 8t
956 | FD5D LD E,IYL* 8t
957 | FD5E d LD E,(IY+d) 19t
958 | FD60 LD IYH,B* 8t
959 | FD61 LD IYH,C* 8t
960 | FD62 LD IYH,D* 8t
961 | FD63 LD IYH,E* 8t
962 | FD64 LD IYH,IYH* 8t
963 | FD65 LD IYH,IYL* 8t
964 | FD66 d LD H,(IY+d) 19t
965 | FD67 LD IYH,A* 8t
966 | FD68 LD IYL,B* 8t
967 | FD69 LD IYL,C* 8t
968 | FD6A LD IYL,D* 8t
969 | FD6B LD IYL,E* 8t
970 | FD6C LD IYL,IYH* 8t
971 | FD6D LD IYL,IYL* 8t
972 | FD6E d LD L,(IY+d) 19t
973 | FD6F LD IYL,A* 8t
974 | FD70 d LD (IY+d),B 19t
975 | FD71 d LD (IY+d),C 19t
976 | FD72 d LD (IY+d),D 19t
977 | FD73 d LD (IY+d),E 19t
978 | FD74 d LD (IY+d),H 19t
979 | FD75 d LD (IY+d),L 19t
980 | FD77 d LD (IY+d),A 19t
981 | FD7C LD A,IYH* 8t
982 | FD7D LD A,IYL* 8t
983 | FD7E d LD A,(IY+d) 19t
984 | FD84 ADD A,IYH* 8t
985 | FD85 ADD A,IYL* 8t
986 | FD86 d ADD A,(IY+d) 19t
987 | FD8C ADC A,IYH* 8t
988 | FD8D ADC A,IYL* 8t
989 | FD8E d ADC A,(IY+d) 19t
990 | FD94 SUB IYH* 8t
991 | FD95 SUB IYL* 8t
992 | FD96 d SUB (IY+d) 19t
993 | FD9C SBC A,IYH* 8t
994 | FD9D SBC A,IYL* 8t
995 | FD9E d SBC A,(IY+d) 19t
996 | FDA4 AND IYH* 8t
997 | FDA5 AND IYL* 8t
998 | FDA6 d AND (IY+d) 19t
999 | FDAC XOR IYH* 8t
1000 | FDAD XOR IYL* 8t
1001 | FDAE d XOR (IY+d) 19t
1002 | FDB4 OR IYH* 8t
1003 | FDB5 OR IYL* 8t
1004 | FDB6 d OR (IY+d) 19t
1005 | FDBC CP IYH* 8t
1006 | FDBD CP IYL* 8t
1007 | FDBE d CP (IY+d) 19t
1008 | FDCB d 00 LD B,RLC (IY+d)* 23t
1009 | FDCB d 01 LD C,RLC (IY+d)* 23t
1010 | FDCB d 02 LD D,RLC (IY+d)* 23t
1011 | FDCB d 03 LD E,RLC (IY+d)* 23t
1012 | FDCB d 04 LD H,RLC (IY+d)* 23t
1013 | FDCB d 05 LD L,RLC (IY+d)* 23t
1014 | FDCB d 06 RLC (IY+d) 23t
1015 | FDCB d 07 LD A,RLC (IY+d)* 23t
1016 | FDCB d 08 LD B,RRC (IY+d)* 23t
1017 | FDCB d 09 LD C,RRC (IY+d)* 23t
1018 | FDCB d 0A LD D,RRC (IY+d)* 23t
1019 | FDCB d 0B LD E,RRC (IY+d)* 23t
1020 | FDCB d 0C LD H,RRC (IY+d)* 23t
1021 | FDCB d 0D LD L,RRC (IY+d)* 23t
1022 | FDCB d 0E RRC (IY+d) 23t
1023 | FDCB d 0F LD A,RRC (IY+d)* 23t
1024 | FDCB d 10 LD B,RL (IY+d)* 23t
1025 | FDCB d 11 LD C,RL (IY+d)* 23t
1026 | FDCB d 12 LD D,RL (IY+d)* 23t
1027 | FDCB d 13 LD E,RL (IY+d)* 23t
1028 | FDCB d 14 LD H,RL (IY+d)* 23t
1029 | FDCB d 15 LD L,RL (IY+d)* 23t
1030 | FDCB d 16 RL (IY+d) 23t
1031 | FDCB d 17 LD A,RL (IY+d)* 23t
1032 | FDCB d 18 LD B,RR (IY+d)* 23t
1033 | FDCB d 19 LD C,RR (IY+d)* 23t
1034 | FDCB d 1A LD D,RR (IY+d)* 23t
1035 | FDCB d 1B LD E,RR (IY+d)* 23t
1036 | FDCB d 1C LD H,RR (IY+d)* 23t
1037 | FDCB d 1D LD L,RR (IY+d)* 23t
1038 | FDCB d 1E RR (IY+d) 23t
1039 | FDCB d 1F LD A,RR (IY+d)* 23t
1040 | FDCB d 20 LD B,SLA (IY+d)* 23t
1041 | FDCB d 21 LD C,SLA (IY+d)* 23t
1042 | FDCB d 22 LD D,SLA (IY+d)* 23t
1043 | FDCB d 23 LD E,SLA (IY+d)* 23t
1044 | FDCB d 24 LD H,SLA (IY+d)* 23t
1045 | FDCB d 25 LD L,SLA (IY+d)* 23t
1046 | FDCB d 26 SLA (IY+d) 23t
1047 | FDCB d 27 LD A,SLA (IY+d)* 23t
1048 | FDCB d 28 LD B,SRA (IY+d)* 23t
1049 | FDCB d 29 LD C,SRA (IY+d)* 23t
1050 | FDCB d 2A LD D,SRA (IY+d)* 23t
1051 | FDCB d 2B LD E,SRA (IY+d)* 23t
1052 | FDCB d 2C LD H,SRA (IY+d)* 23t
1053 | FDCB d 2D LD L,SRA (IY+d)* 23t
1054 | FDCB d 2E SRA (IY+d) 23t
1055 | FDCB d 2F LD A,SRA (IY+d)* 23t
1056 | FDCB d 30 LD B,SLL (IY+d)* 23t
1057 | FDCB d 31 LD C,SLL (IY+d)* 23t
1058 | FDCB d 32 LD D,SLL (IY+d)* 23t
1059 | FDCB d 33 LD E,SLL (IY+d)* 23t
1060 | FDCB d 34 LD H,SLL (IY+d)* 23t
1061 | FDCB d 35 LD L,SLL (IY+d)* 23t
1062 | FDCB d 36 SLL (IY+d)* 23t
1063 | FDCB d 37 LD A,SLL (IY+d)* 23t
1064 | FDCB d 38 LD B,SRL (IY+d)* 23t
1065 | FDCB d 39 LD C,SRL (IY+d)* 23t
1066 | FDCB d 3A LD D,SRL (IY+d)* 23t
1067 | FDCB d 3B LD E,SRL (IY+d)* 23t
1068 | FDCB d 3C LD H,SRL (IY+d)* 23t
1069 | FDCB d 3D LD L,SRL (IY+d)* 23t
1070 | FDCB d 3E SRL (IY+d) 23t
1071 | FDCB d 3F LD A,SRL (IY+d)* 23t
1072 | FDCB d 40 BIT 0,(IY+d)* 23t
1073 | FDCB d 41 BIT 0,(IY+d)* 23t
1074 | FDCB d 42 BIT 0,(IY+d)* 23t
1075 | FDCB d 43 BIT 0,(IY+d)* 23t
1076 | FDCB d 44 BIT 0,(IY+d)* 23t
1077 | FDCB d 45 BIT 0,(IY+d)* 23t
1078 | FDCB d 46 BIT 0,(IY+d) 23t
1079 | FDCB d 47 BIT 0,(IY+d)* 23t
1080 | FDCB d 48 BIT 1,(IY+d)* 23t
1081 | FDCB d 49 BIT 1,(IY+d)* 23t
1082 | FDCB d 4A BIT 1,(IY+d)* 23t
1083 | FDCB d 4B BIT 1,(IY+d)* 23t
1084 | FDCB d 4C BIT 1,(IY+d)* 23t
1085 | FDCB d 4D BIT 1,(IY+d)* 23t
1086 | FDCB d 4E BIT 1,(IY+d) 23t
1087 | FDCB d 4F BIT 1,(IY+d)* 23t
1088 | FDCB d 50 BIT 2,(IY+d)* 23t
1089 | FDCB d 51 BIT 2,(IY+d)* 23t
1090 | FDCB d 52 BIT 2,(IY+d)* 23t
1091 | FDCB d 53 BIT 2,(IY+d)* 23t
1092 | FDCB d 54 BIT 2,(IY+d)* 23t
1093 | FDCB d 55 BIT 2,(IY+d)* 23t
1094 | FDCB d 56 BIT 2,(IY+d) 23t
1095 | FDCB d 57 BIT 2,(IY+d)* 23t
1096 | FDCB d 58 BIT 3,(IY+d)* 23t
1097 | FDCB d 59 BIT 3,(IY+d)* 23t
1098 | FDCB d 5A BIT 3,(IY+d)* 23t
1099 | FDCB d 5B BIT 3,(IY+d)* 23t
1100 | FDCB d 5C BIT 3,(IY+d)* 23t
1101 | FDCB d 5D BIT 3,(IY+d)* 23t
1102 | FDCB d 5E BIT 3,(IY+d) 23t
1103 | FDCB d 5F BIT 3,(IY+d)* 23t
1104 | FDCB d 60 BIT 4,(IY+d)* 23t
1105 | FDCB d 61 BIT 4,(IY+d)* 23t
1106 | FDCB d 62 BIT 4,(IY+d)* 23t
1107 | FDCB d 63 BIT 4,(IY+d)* 23t
1108 | FDCB d 64 BIT 4,(IY+d)* 23t
1109 | FDCB d 65 BIT 4,(IY+d)* 23t
1110 | FDCB d 66 BIT 4,(IY+d) 23t
1111 | FDCB d 67 BIT 4,(IY+d)* 23t
1112 | FDCB d 68 BIT 5,(IY+d)* 23t
1113 | FDCB d 69 BIT 5,(IY+d)* 23t
1114 | FDCB d 6A BIT 5,(IY+d)* 23t
1115 | FDCB d 6B BIT 5,(IY+d)* 23t
1116 | FDCB d 6C BIT 5,(IY+d)* 23t
1117 | FDCB d 6D BIT 5,(IY+d)* 23t
1118 | FDCB d 6E BIT 5,(IY+d) 23t
1119 | FDCB d 6F BIT 5,(IY+d)* 23t
1120 | FDCB d 70 BIT 6,(IY+d)* 23t
1121 | FDCB d 71 BIT 6,(IY+d)* 23t
1122 | FDCB d 72 BIT 6,(IY+d)* 23t
1123 | FDCB d 73 BIT 6,(IY+d)* 23t
1124 | FDCB d 74 BIT 6,(IY+d)* 23t
1125 | FDCB d 75 BIT 6,(IY+d)* 23t
1126 | FDCB d 76 BIT 6,(IY+d) 23t
1127 | FDCB d 77 BIT 6,(IY+d)* 23t
1128 | FDCB d 78 BIT 7,(IY+d)* 23t
1129 | FDCB d 79 BIT 7,(IY+d)* 23t
1130 | FDCB d 7A BIT 7,(IY+d)* 23t
1131 | FDCB d 7B BIT 7,(IY+d)* 23t
1132 | FDCB d 7C BIT 7,(IY+d)* 23t
1133 | FDCB d 7D BIT 7,(IY+d)* 23t
1134 | FDCB d 7E BIT 7,(IY+d) 23t
1135 | FDCB d 7F BIT 7,(IY+d)* 23t
1136 | FDCB d 80 LD B,RES 0,(IY+d)* 23t
1137 | FDCB d 81 LD C,RES 0,(IY+d)* 23t
1138 | FDCB d 82 LD D,RES 0,(IY+d)* 23t
1139 | FDCB d 83 LD E,RES 0,(IY+d)* 23t
1140 | FDCB d 84 LD H,RES 0,(IY+d)* 23t
1141 | FDCB d 85 LD L,RES 0,(IY+d)* 23t
1142 | FDCB d 86 RES 0,(IY+d) 23t
1143 | FDCB d 87 LD A,RES 0,(IY+d)* 23t
1144 | FDCB d 88 LD B,RES 1,(IY+d)* 23t
1145 | FDCB d 89 LD C,RES 1,(IY+d)* 23t
1146 | FDCB d 8A LD D,RES 1,(IY+d)* 23t
1147 | FDCB d 8B LD E,RES 1,(IY+d)* 23t
1148 | FDCB d 8C LD H,RES 1,(IY+d)* 23t
1149 | FDCB d 8D LD L,RES 1,(IY+d)* 23t
1150 | FDCB d 8E RES 1,(IY+d) 23t
1151 | FDCB d 8F LD A,RES 1,(IY+d)* 23t
1152 | FDCB d 90 LD B,RES 2,(IY+d)* 23t
1153 | FDCB d 91 LD C,RES 2,(IY+d)* 23t
1154 | FDCB d 92 LD D,RES 2,(IY+d)* 23t
1155 | FDCB d 93 LD E,RES 2,(IY+d)* 23t
1156 | FDCB d 94 LD H,RES 2,(IY+d)* 23t
1157 | FDCB d 95 LD L,RES 2,(IY+d)* 23t
1158 | FDCB d 96 RES 2,(IY+d) 23t
1159 | FDCB d 97 LD A,RES 2,(IY+d)* 23t
1160 | FDCB d 98 LD B,RES 3,(IY+d)* 23t
1161 | FDCB d 99 LD C,RES 3,(IY+d)* 23t
1162 | FDCB d 9A LD D,RES 3,(IY+d)* 23t
1163 | FDCB d 9B LD E,RES 3,(IY+d)* 23t
1164 | FDCB d 9C LD H,RES 3,(IY+d)* 23t
1165 | FDCB d 9D LD L,RES 3,(IY+d)* 23t
1166 | FDCB d 9E RES 3,(IY+d) 23t
1167 | FDCB d 9F LD A,RES 3,(IY+d)* 23t
1168 | FDCB d A0 LD B,RES 4,(IY+d)* 23t
1169 | FDCB d A1 LD C,RES 4,(IY+d)* 23t
1170 | FDCB d A2 LD D,RES 4,(IY+d)* 23t
1171 | FDCB d A3 LD E,RES 4,(IY+d)* 23t
1172 | FDCB d A4 LD H,RES 4,(IY+d)* 23t
1173 | FDCB d A5 LD L,RES 4,(IY+d)* 23t
1174 | FDCB d A6 RES 4,(IY+d) 23t
1175 | FDCB d A7 LD A,RES 4,(IY+d)* 23t
1176 | FDCB d A8 LD B,RES 5,(IY+d)* 23t
1177 | FDCB d A9 LD C,RES 5,(IY+d)* 23t
1178 | FDCB d AA LD D,RES 5,(IY+d)* 23t
1179 | FDCB d AB LD E,RES 5,(IY+d)* 23t
1180 | FDCB d AC LD H,RES 5,(IY+d)* 23t
1181 | FDCB d AD LD L,RES 5,(IY+d)* 23t
1182 | FDCB d AE RES 5,(IY+d) 23t
1183 | FDCB d AF LD A,RES 5,(IY+d)* 23t
1184 | FDCB d B0 LD B,RES 6,(IY+d)* 23t
1185 | FDCB d B1 LD C,RES 6,(IY+d)* 23t
1186 | FDCB d B2 LD D,RES 6,(IY+d)* 23t
1187 | FDCB d B3 LD E,RES 6,(IY+d)* 23t
1188 | FDCB d B4 LD H,RES 6,(IY+d)* 23t
1189 | FDCB d B5 LD L,RES 6,(IY+d)* 23t
1190 | FDCB d B6 RES 6,(IY+d) 23t
1191 | FDCB d B7 LD A,RES 6,(IY+d)* 23t
1192 | FDCB d B8 LD B,RES 7,(IY+d)* 23t
1193 | FDCB d B9 LD C,RES 7,(IY+d)* 23t
1194 | FDCB d BA LD D,RES 7,(IY+d)* 23t
1195 | FDCB d BB LD E,RES 7,(IY+d)* 23t
1196 | FDCB d BC LD H,RES 7,(IY+d)* 23t
1197 | FDCB d BD LD L,RES 7,(IY+d)* 23t
1198 | FDCB d BE RES 7,(IY+d) 23t
1199 | FDCB d BF LD A,RES 7,(IY+d)* 23t
1200 | FDCB d C0 LD B,SET 0,(IY+d)* 23t
1201 | FDCB d C1 LD C,SET 0,(IY+d)* 23t
1202 | FDCB d C2 LD D,SET 0,(IY+d)* 23t
1203 | FDCB d C3 LD E,SET 0,(IY+d)* 23t
1204 | FDCB d C4 LD H,SET 0,(IY+d)* 23t
1205 | FDCB d C5 LD L,SET 0,(IY+d)* 23t
1206 | FDCB d C6 SET 0,(IY+d) 23t
1207 | FDCB d C7 LD A,SET 0,(IY+d)* 23t
1208 | FDCB d C8 LD B,SET 1,(IY+d)* 23t
1209 | FDCB d C9 LD C,SET 1,(IY+d)* 23t
1210 | FDCB d CA LD D,SET 1,(IY+d)* 23t
1211 | FDCB d CB LD E,SET 1,(IY+d)* 23t
1212 | FDCB d CC LD H,SET 1,(IY+d)* 23t
1213 | FDCB d CD LD L,SET 1,(IY+d)* 23t
1214 | FDCB d CE SET 1,(IY+d) 23t
1215 | FDCB d CF LD A,SET 1,(IY+d)* 23t
1216 | FDCB d D0 LD B,SET 2,(IY+d)* 23t
1217 | FDCB d D1 LD C,SET 2,(IY+d)* 23t
1218 | FDCB d D2 LD D,SET 2,(IY+d)* 23t
1219 | FDCB d D3 LD E,SET 2,(IY+d)* 23t
1220 | FDCB d D4 LD H,SET 2,(IY+d)* 23t
1221 | FDCB d D5 LD L,SET 2,(IY+d)* 23t
1222 | FDCB d D6 SET 2,(IY+d) 23t
1223 | FDCB d D7 LD A,SET 2,(IY+d)* 23t
1224 | FDCB d D8 LD B,SET 3,(IY+d)* 23t
1225 | FDCB d D9 LD C,SET 3,(IY+d)* 23t
1226 | FDCB d DA LD D,SET 3,(IY+d)* 23t
1227 | FDCB d DB LD E,SET 3,(IY+d)* 23t
1228 | FDCB d DC LD H,SET 3,(IY+d)* 23t
1229 | FDCB d DD LD L,SET 3,(IY+d)* 23t
1230 | FDCB d DE SET 3,(IY+d) 23t
1231 | FDCB d DF LD A,SET 3,(IY+d)* 23t
1232 | FDCB d E0 LD B,SET 4,(IY+d)* 23t
1233 | FDCB d E1 LD C,SET 4,(IY+d)* 23t
1234 | FDCB d E2 LD D,SET 4,(IY+d)* 23t
1235 | FDCB d E3 LD E,SET 4,(IY+d)* 23t
1236 | FDCB d E4 LD H,SET 4,(IY+d)* 23t
1237 | FDCB d E5 LD L,SET 4,(IY+d)* 23t
1238 | FDCB d E6 SET 4,(IY+d) 23t
1239 | FDCB d E7 LD A,SET 4,(IY+d)* 23t
1240 | FDCB d E8 LD B,SET 5,(IY+d)* 23t
1241 | FDCB d E9 LD C,SET 5,(IY+d)* 23t
1242 | FDCB d EA LD D,SET 5,(IY+d)* 23t
1243 | FDCB d EB LD E,SET 5,(IY+d)* 23t
1244 | FDCB d EC LD H,SET 5,(IY+d)* 23t
1245 | FDCB d ED LD L,SET 5,(IY+d)* 23t
1246 | FDCB d EE SET 5,(IY+d) 23t
1247 | FDCB d EF LD A,SET 5,(IY+d)* 23t
1248 | FDCB d F0 LD B,SET 6,(IY+d)* 23t
1249 | FDCB d F1 LD C,SET 6,(IY+d)* 23t
1250 | FDCB d F2 LD D,SET 6,(IY+d)* 23t
1251 | FDCB d F3 LD E,SET 6,(IY+d)* 23t
1252 | FDCB d F4 LD H,SET 6,(IY+d)* 23t
1253 | FDCB d F5 LD L,SET 6,(IY+d)* 23t
1254 | FDCB d F6 SET 6,(IY+d) 23t
1255 | FDCB d F7 LD A,SET 6,(IY+d)* 23t
1256 | FDCB d F8 LD B,SET 7,(IY+d)* 23t
1257 | FDCB d F9 LD C,SET 7,(IY+d)* 23t
1258 | FDCB d FA LD D,SET 7,(IY+d)* 23t
1259 | FDCB d FB LD E,SET 7,(IY+d)* 23t
1260 | FDCB d FC LD H,SET 7,(IY+d)* 23t
1261 | FDCB d FD LD L,SET 7,(IY+d)* 23t
1262 | FDCB d FE SET 7,(IY+d) 23t
1263 | FDCB d FF LD A,SET 7,(IY+d)* 23t
1264 | FDE1 POP IY 14t
1265 | FDE3 EX (SP),IY 23t
1266 | FDE5 PUSH IY 15t
1267 | FDE9 JP (IY) 8t
1268 | FDF9 LD SP,IY 10t
1269 | FE n CP n 7t
1270 | FF RST 38H 11t
1271 |
--------------------------------------------------------------------------------
/z80asm/z80asm.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "working_dir": "$file_path",
3 | "file_regex": "^(.+)\\(([0-9]+)\\):.*?(): (.*)$",
4 | "selector": "source.z80asm",
5 | "encoding": "utf-8",
6 |
7 | "windows":
8 | {
9 | "cmd": ["$packages/z80asm/build.bat","$file_name","$project_path"],
10 | "encoding": "cp866"
11 | },
12 |
13 | "linux":
14 | {
15 | "cmd": ["$packages/z80asm/build.sh","$file_name","$project_path"]
16 | },
17 |
18 | "osx":
19 | {
20 | "cmd": ["$packages/z80asm/build","$file_name","$project_path"]
21 | },
22 |
23 |
24 | "variants":
25 | [
26 | {
27 | "name": "Run",
28 | "windows":
29 | {
30 | "cmd": ["$packages/z80asm/run.bat","$file_name","$project_path"],
31 | "encoding": "cp866"
32 | },
33 |
34 | "linux":
35 | {
36 | "cmd": ["$packages/z80asm/run.sh","$file_name","$project_path"]
37 | },
38 |
39 | "osx":
40 | {
41 | "cmd": ["$packages/z80asm/run","$file_name","$project_path"]
42 | }
43 | },
44 | {
45 | "name": "Build and Run",
46 | "windows":
47 | {
48 | "cmd": ["$packages/z80asm/buildrun.bat","$file_name","$project_path"],
49 | "encoding": "cp866"
50 | },
51 |
52 | "linux":
53 | {
54 | "cmd": ["$packages/z80asm/buildrun.sh","$file_name","$project_path"]
55 | },
56 |
57 | "osx":
58 | {
59 | "cmd": ["$packages/z80asm/buildrun","$file_name","$project_path"]
60 | }
61 | }
62 | ]
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/z80asm/z80asm.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // Force the color theme for z80asm. You can choose one of them or
3 | // comment out them all (then you will be able to set any theme in
4 | // `Preferences > Color Scheme` menu).
5 | "color_scheme": "Packages/z80asm/z80asm.tmTheme",
6 | // "color_scheme": "Packages/z80asm/z80asm (breeze).tmTheme",
7 |
8 | // The number of spaces a tab is considered equal to
9 | "tab_size": 8,
10 |
11 | // When enabled, pressing tab will insert the best matching completion.
12 | // When disabled, tab will only trigger snippets or insert a tab.
13 | // Shift+tab can be used to insert an explicit tab when tab_completion is
14 | // enabled.
15 | "tab_completion": false,
16 |
17 | // Enable auto complete to be triggered automatically when typing.
18 | // "auto_complete": false,
19 |
20 | // The delay, in ms, before the auto complete window is shown after typing
21 | // "auto_complete_delay": 350,
22 |
23 | // The encoding to use when the encoding can't be determined automatically.
24 | // ASCII, UTF-8 and UTF-16 encodings will be automatically detected.
25 | // "fallback_encoding": "Cyrillic (Windows 866)",
26 | "fallback_encoding": "Cyrillic (Windows 1251)",
27 |
28 | // Encoding used when saving new files, and files opened with an undefined
29 | // encoding (e.g., plain ascii files). If a file is opened with a specific
30 | // encoding (either detected or given explicitly), this setting will be
31 | // ignored, and the file will be saved with the encoding it was opened
32 | // with.
33 | // "default_encoding": "Cyrillic (Windows 866)",
34 | "default_encoding": "Cyrillic (Windows 1251)",
35 |
36 | // When enabled, all opened tabs will be scanned for completion words.
37 | "use_global_completion": true
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/z80asm/z80asm.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | a80
8 | asm
9 |
10 | name
11 | Z80 Asm
12 | patterns
13 |
14 |
15 | comment
16 | Bad temporary label (not only numeric)
17 | match
18 | ^[0-9]+[^0-9\s:].*$
19 | name
20 | invalid.illegal.asm
21 |
22 |
23 | comment
24 | Bad line (not begin from label, space, dot or comment)
25 | match
26 | ^[^a-zA-Z0-9_.;@/ \t\r\n].*$
27 | name
28 | invalid.illegal.asm
29 |
30 |
31 | comment
32 | DUP (storm syntax)
33 | match
34 | ^\.\d+(?=\s)
35 | name
36 | keyword.control.asm
37 |
38 |
39 | comment
40 | Label
41 | match
42 | ^(([a-zA-Z_.@][a-zA-Z_.0-9]*)|[0-9]+)(?=\s|:|=|$)
43 | name
44 | entity.name.label.def.asm
45 |
46 |
47 | captures
48 |
49 | 1
50 |
51 | name
52 | keyword.other.command.asm
53 |
54 | 2
55 |
56 | name
57 | constant.other.flag.asm
58 |
59 | 3
60 |
61 | name
62 | entity.name.label.asm
63 |
64 |
65 | comment
66 | Special case: conditional call/jmp
67 | match
68 | (?i)(?<=\s|:)(call|jp|jr)\s+(?:(z|nz|c|nc|po|pe|p|m)\s*,\s*)?((?:[a-zA-Z_.@$][a-zA-Z_.0-9]*)|[0-9]+(?:b|f))
69 |
70 |
71 | captures
72 |
73 | 1
74 |
75 | name
76 | keyword.other.command.asm
77 |
78 | 2
79 |
80 | name
81 | entity.name.label.asm
82 |
83 |
84 | comment
85 | Special case: djnz
86 | match
87 | (?i)(?<=\s|:)(djnz)\s+((?:[a-zA-Z_.@$][a-zA-Z_.0-9]*)|[0-9]+(?:b|f))
88 |
89 |
90 | captures
91 |
92 | 1
93 |
94 | name
95 | keyword.other.command.asm
96 |
97 | 2
98 |
99 | name
100 | constant.other.flag.asm
101 |
102 |
103 | comment
104 | Special case: conditional ret
105 | match
106 | (?i)(?<=\s|:)(ret)(?:\s+(z|nz|c|nc|po|pe|p|m))?(?=\s|:|;|$)
107 |
108 |
109 | comment
110 | Z80 commands
111 | match
112 | (?i)(?<=\s|:)(adc|add|and|bit|call|ccf|cp|cpl|cpd|cpdr|cpi|cpir|daa|dec|di|djnz|ei|ex|exx|halt|im|in|inc|ind|indr|inf|ini|inir|jp|jr|ld|ldd|lddr|ldi|ldir|neg|nop|exx|or|otdr|otir|out|outd|outi|pop|push|res|ret|reti|retn|rl|rla|rlc|rlca|rld|rr|rra|rrc|rrca|rrd|rst|sbc|scf|set|sla|sli|sll|sra|srl|sub|xor)(?=\s|:|$)
113 | name
114 | keyword.other.command.asm
115 |
116 |
117 | comment
118 | Z80 commands / known macros
119 | match
120 | (?i)(?<=\s|:)(exa|down|up)(?=\s|:|$)
121 | name
122 | keyword.other.command.extended.asm
123 |
124 |
125 | comment
126 | Asm data definition directives
127 | match
128 | (?i)(?<=\s|:)(db|dw|ds|dm|dd|dz|defb|defw|defs|defm|defd|byte|abyte(c|z)?|word|d24|dword|block|defarray)(?=\s|:|$)
129 | name
130 | storage.type.datadef.asm
131 |
132 |
133 | comment
134 | Asm general directives
135 | match
136 | (?i)(?<=\s|:)(include|incbin|incl|incb|binary|insert|inchob|inctrd|org|align|page|slot|equ|disp|phase|unphase|dephase|ent|textarea|macro|endm|struct|ends|dup|edup|rept|define|if|ifn|endif|ifdef|ifndef|end)(?=\s|:|$)
137 | name
138 | keyword.control.asm
139 |
140 |
141 | comment
142 | Asm functions
143 | match
144 | (?i)\b(high|low|not|mod|shl|shr)\b
145 | name
146 | support.function.asm
147 |
148 |
149 | comment
150 | Asm functions
151 | match
152 | (?i)(?<=[a-z0-9_])(\[|\])
153 | name
154 | support.function.asm
155 |
156 |
157 | comment
158 | SjASM directives/commands
159 | match
160 | (?i)(?<=\s|:)(device|display|savesna|savebin|savehob|savetrd|module|endmodule|lua|endlua|includelua|assert|emptytrd|encoding|export|labelslist|output|shellexec|size)(?=\s|:|$)
161 | name
162 | keyword.directive.extended.asm
163 |
164 |
165 | comment
166 | 8 bit register set
167 | match
168 | (?i)\b(a|b|c|d|e|h|l|i|r|xl|lx|xh|hx|ixl|ixh|yl|ly|yh|hy|iyl|iyh)\b
169 | name
170 | variable.parameter.register.asm
171 |
172 |
173 | comment
174 | 16 bit register set
175 | match
176 | (?i)(\baf')|(\b(af|bc|de|hl|sp|ix|iy)\b)
177 | name
178 | variable.parameter.register.asm
179 |
180 |
181 | comment
182 | HEX/DEC/BIN number
183 | match
184 | (?i)(%[01]+\b)|(\b[01]+b\b)|((#|\$)[0-9a-f]+\b)|(\b([0-9]+|0x[0-9a-f]+|[0-9][0-9a-f]*h)\b)
185 | name
186 | constant.numeric.asm
187 |
188 |
189 | comment
190 | Label in commands (experimental, marks all unknown words as labels)
191 | match
192 | (\b|@|\.)[a-zA-Z_][a-zA-Z_.0-9]*\b
193 | name
194 | entity.name.label.asm
195 |
196 |
197 | comment
198 | Comment line
199 | match
200 | (//|;).*
201 | name
202 | comment.line.asm
203 |
204 |
205 | begin
206 | (/\*)
207 | comment
208 | C-style comment block
209 | end
210 | (\*/)
211 | name
212 | comment.block.asm
213 |
214 |
215 | comment
216 | Single-line string
217 | match
218 | '[^']*'
219 | name
220 | string.asm
221 |
222 |
223 | comment
224 | Single-line string
225 | match
226 | "[^"]*"
227 | name
228 | string.asm
229 |
230 |
231 | scopeName
232 | source.z80asm
233 | uuid
234 | c15e385b-46ca-4911-b87f-4212fb149803
235 |
236 |
237 |
--------------------------------------------------------------------------------
/z80asm/z80asm.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments, indent
7 | scope
8 | source.z80asm
9 | settings
10 |
11 | increaseIndentPattern
12 | (?x)^[a-zA-Z_.@][a-zA-Z_.0-9]*(?=\s|:|=|$)
13 | shellVariables
14 |
15 |
16 | name
17 | TM_COMMENT_START
18 | value
19 | ;
20 |
21 |
22 | name
23 | TM_COMMENT_START_2
24 | value
25 | //
26 |
27 |
28 | name
29 | TM_COMMENT_START_3
30 | value
31 | /*
32 |
33 |
34 | name
35 | TM_COMMENT_END_3
36 | value
37 | */
38 |
39 |
40 | name
41 | TM_COMMENT_DISABLE_INDENT
42 | value
43 | yes
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/z80asm/z80asm.tmTheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Monokai-z80asm
7 | settings
8 |
9 |
10 | settings
11 |
12 | activeGuide
13 | #9D550FB0
14 | background
15 | #272822
16 | bracketContentsForeground
17 | #F8F8F2A5
18 | bracketContentsOptions
19 | underline
20 | bracketsForeground
21 | #F8F8F2A5
22 | bracketsOptions
23 | underline
24 | caret
25 | #F8F8F0
26 | findHighlight
27 | #FFE792
28 | findHighlightForeground
29 | #000000
30 | foreground
31 | #F8F8F2
32 | invisibles
33 | #3B3A32
34 | lineHighlight
35 | #3E3D32
36 | selection
37 | #49483E
38 | selectionBorder
39 | #222218
40 | tagsOptions
41 | stippled_underline
42 |
43 |
44 |
45 | name
46 | Comment
47 | scope
48 | comment
49 | settings
50 |
51 | foreground
52 | #75715E
53 |
54 |
55 |
56 | name
57 | String
58 | scope
59 | string
60 | settings
61 |
62 | foreground
63 | #E6DB74
64 |
65 |
66 |
67 | name
68 | Number
69 | scope
70 | constant.numeric
71 | settings
72 |
73 | foreground
74 | #AE81FF
75 |
76 |
77 |
78 | name
79 | Built-in constant
80 | scope
81 | constant.language
82 | settings
83 |
84 | foreground
85 | #AE81FF
86 |
87 |
88 |
89 | name
90 | User-defined constant
91 | scope
92 | constant.character, constant.other
93 | settings
94 |
95 | foreground
96 | #AE81FF
97 |
98 |
99 |
100 | name
101 | Variable
102 | scope
103 | variable
104 | settings
105 |
106 | fontStyle
107 |
108 |
109 |
110 |
111 | name
112 | Keyword
113 | scope
114 | keyword
115 | settings
116 |
117 | foreground
118 | #F92672
119 |
120 |
121 |
122 | name
123 | Storage
124 | scope
125 | storage
126 | settings
127 |
128 | fontStyle
129 |
130 | foreground
131 | #F92672
132 |
133 |
134 |
135 | name
136 | Storage type
137 | scope
138 | storage.type
139 | settings
140 |
141 | fontStyle
142 | italic
143 | foreground
144 | #66D9EF
145 |
146 |
147 |
148 | name
149 | Class name
150 | scope
151 | entity.name.class
152 | settings
153 |
154 | fontStyle
155 | underline
156 | foreground
157 | #A6E22E
158 |
159 |
160 |
161 | name
162 | Inherited class
163 | scope
164 | entity.other.inherited-class
165 | settings
166 |
167 | fontStyle
168 | italic underline
169 | foreground
170 | #A6E22E
171 |
172 |
173 |
174 | name
175 | Function name
176 | scope
177 | entity.name.function
178 | settings
179 |
180 | fontStyle
181 |
182 | foreground
183 | #A6E22E
184 |
185 |
186 |
187 | name
188 | Function argument
189 | scope
190 | variable.parameter
191 | settings
192 |
193 | fontStyle
194 | italic
195 | foreground
196 | #FD971F
197 |
198 |
199 |
200 | name
201 | Tag name
202 | scope
203 | entity.name.tag
204 | settings
205 |
206 | fontStyle
207 |
208 | foreground
209 | #F92672
210 |
211 |
212 |
213 | name
214 | Tag attribute
215 | scope
216 | entity.other.attribute-name
217 | settings
218 |
219 | fontStyle
220 |
221 | foreground
222 | #A6E22E
223 |
224 |
225 |
226 | name
227 | Library function
228 | scope
229 | support.function
230 | settings
231 |
232 | fontStyle
233 |
234 | foreground
235 | #66D9EF
236 |
237 |
238 |
239 | name
240 | Library constant
241 | scope
242 | support.constant
243 | settings
244 |
245 | fontStyle
246 |
247 | foreground
248 | #66D9EF
249 |
250 |
251 |
252 | name
253 | Library class/type
254 | scope
255 | support.type, support.class
256 | settings
257 |
258 | fontStyle
259 | italic
260 | foreground
261 | #66D9EF
262 |
263 |
264 |
265 | name
266 | Library variable
267 | scope
268 | support.other.variable
269 | settings
270 |
271 | fontStyle
272 |
273 |
274 |
275 |
276 | name
277 | Invalid
278 | scope
279 | invalid
280 | settings
281 |
282 | background
283 | #F92672
284 | fontStyle
285 |
286 | foreground
287 | #F8F8F0
288 |
289 |
290 |
291 | name
292 | Invalid deprecated
293 | scope
294 | invalid.deprecated
295 | settings
296 |
297 | background
298 | #AE81FF
299 | foreground
300 | #F8F8F0
301 |
302 |
303 |
304 | name
305 | JSON String
306 | scope
307 | meta.structure.dictionary.json string.quoted.double.json
308 | settings
309 |
310 | foreground
311 | #CFCFC2
312 |
313 |
314 |
315 | name
316 | diff.header
317 | scope
318 | meta.diff, meta.diff.header
319 | settings
320 |
321 | foreground
322 | #75715E
323 |
324 |
325 |
326 | name
327 | diff.deleted
328 | scope
329 | markup.deleted
330 | settings
331 |
332 | foreground
333 | #F92672
334 |
335 |
336 |
337 | name
338 | diff.inserted
339 | scope
340 | markup.inserted
341 | settings
342 |
343 | foreground
344 | #A6E22E
345 |
346 |
347 |
348 | name
349 | diff.changed
350 | scope
351 | markup.changed
352 | settings
353 |
354 | foreground
355 | #E6DB74
356 |
357 |
358 |
359 | scope
360 | constant.numeric.line-number.find-in-files - match
361 | settings
362 |
363 | foreground
364 | #AE81FFA0
365 |
366 |
367 |
368 | scope
369 | entity.name.filename.find-in-files
370 | settings
371 |
372 | foreground
373 | #E6DB74
374 |
375 |
376 |
377 | Name
378 | Bad line
379 | scope
380 | invalid.illegal.asm
381 | settings
382 |
383 | background
384 | #FF0000
385 | fontStyle
386 |
387 | foreground
388 | #FFFFFF
389 |
390 |
391 |
392 | Name
393 | Label
394 | scope
395 | entity.name.label.asm
396 | settings
397 |
398 | fontStyle
399 |
400 | foreground
401 | #FF0088
402 |
403 |
404 |
405 | Name
406 | Label definition
407 | scope
408 | entity.name.label.def.asm
409 | settings
410 |
411 | fontStyle
412 |
413 | foreground
414 | #FF0088
415 |
416 |
417 |
418 | Name
419 | Flags
420 | scope
421 | constant.other.flag.asm
422 | settings
423 |
424 | fontStyle
425 | bold
426 | foreground
427 | #FFAA00
428 |
429 |
430 |
431 | Name
432 | Z80 commands
433 | scope
434 | keyword.other.command.asm
435 | settings
436 |
437 | fontStyle
438 | bold
439 | foreground
440 | #FFFFFF
441 |
442 |
443 |
444 | Name
445 | Z80 commands / known macros (down/up)
446 | scope
447 | keyword.other.command.extended.asm
448 | settings
449 |
450 | fontStyle
451 |
452 | foreground
453 | #FFFFFF
454 |
455 |
456 |
457 | Name
458 | Asm data definition directives (db)
459 | scope
460 | storage.type.datadef.asm
461 | settings
462 |
463 | fontStyle
464 |
465 | foreground
466 | #00FFAA
467 |
468 |
469 |
470 | Name
471 | Asm general directives (org/dup)
472 | scope
473 | keyword.control.asm
474 | settings
475 |
476 | fontStyle
477 |
478 | foreground
479 | #FFAA00
480 |
481 |
482 |
483 | Name
484 | Asm functions (high/low/shr)
485 | scope
486 | support.function.asm
487 | settings
488 |
489 | fontStyle
490 |
491 | foreground
492 | #FFAA00
493 |
494 |
495 |
496 | Name
497 | SjASM directives/commands (device/display/savesna)
498 | scope
499 | keyword.directive.extended.asm
500 | settings
501 |
502 | fontStyle
503 |
504 | foreground
505 | #0099FF
506 |
507 |
508 |
509 | Name
510 | register set
511 | scope
512 | variable.parameter.register.asm
513 | settings
514 |
515 | fontStyle
516 | bold
517 | foreground
518 | #FFFF00
519 |
520 |
521 |
522 | Name
523 | HEX/DEC/BIN number
524 | scope
525 | constant.numeric.asm
526 | settings
527 |
528 | fontStyle
529 |
530 | foreground
531 | #00FF00
532 |
533 |
534 |
535 | Name
536 | Comment line
537 | scope
538 | comment.line.asm
539 | settings
540 |
541 | fontStyle
542 | italic
543 | foreground
544 | #75715E
545 |
546 |
547 |
548 | Name
549 | C-style comment block
550 | scope
551 | comment.block.asm
552 | settings
553 |
554 | fontStyle
555 | italic
556 | foreground
557 | #75715E
558 |
559 |
560 |
561 | Name
562 | Single-line string
563 | scope
564 | string.asm
565 | settings
566 |
567 | fontStyle
568 |
569 | foreground
570 | #E6DB74
571 |
572 |
573 |
574 | uuid
575 | D8D5E82E-3D5B-46B5-B38E-8C841C21347D
576 |
577 |
578 |
--------------------------------------------------------------------------------