Z80/R800 命令・TStates
Z80 命令
Z80 公開命令
- Z80 Family CPU User Manual に記載の命令
IN Flag, (C)はIN F, (C)と表記します。Cは C レジスタですが、キャリーフラグが指定可な場所ではキャリーフラグとして評価します。- キャリーフラグとして
CYも指定可能です。
Z80 非公開命令
LD/ADD/ADC/SUB/SBC/AND/AND/OR/XOR/CP/INC/DEC命令でIXH/IXL/IYH/IYLを使用するもの
Z80 TStates
- Z80 公開命令 Z80 Family CPU User Manual による
- Z80 非公開命令 The Undocumented Z80 Documented による
R800 命令
- R800ユーザーズマニュアル 暫定版 に記載の命令
- 表記は zilog 表記です。
- 乗算命令
mulub,muluwはいずれもmulを使用します。
| R800 命令表の表記 | yas80 での表記 |
|---|---|
mulub a, r | mul a, r |
muluw hl, ss | mul hl, ss |
R800 TStates
表記揺らぎ対応
- 本来の書式に加え、次の書式を許容します。
IXとある書式はIYにも適用します。
| 本来の書式 | 揺らぎとして許容する書式 |
|---|---|
JP (IX) | JP (IX + 0) |
LD (IX + 0), op | LD (IX), op |
LD op, (IX + 0) | LD op, (IX) |
BIT n, (IX + 0) | BIT n, (IX) |
SET n, (IX + 0) | SET n, (IX) |
RES n, (IX + 0) | RES n, (IX) |
EX HL, DE | EX DE, HL |
EX AF, AF' | EX AF', AF |
EX (SP), HL | EX HL, (SP) |
EX (SP), IX | EX IX, (SP) |
SUB op | SUB A, op |
AND op | AND A, op |
OR op | OR A, op |
XOR op | XOR A, op |
CP op | CP A, op |
文字列、配列を数値として扱う
- 一部の命令でオペランドの数値として文字列、配列を数値として指定可能です。
- 8bit
LD - 8bit 演算(
ADD/ADC/SUB/SBC,AND/OR/XR/CP)
- 8bit
- 文字列、配列の数値化については"中置演算子と型混合演算"を参照ください。
- 長さ 1 の文字列
- 要素数 1/2 の配列
1 0000 3e 61 [ 7] ld a, 'a'
2 0002 21 a0 82 [10] ld hl, 'あ'
3 0005 3e 01 [ 7] ld a, [1]
4 0007 21 02 01 [10] ld hl, [1, 2]