A = B ; expand to -> LD A, B
(HL) = A ; expand to -> LD (HL), A
$C000 = A ; expand to -> LD ($C000), A *Can omit addressing (bracketing) at load time
($C000) = A ; expand to -> LD ($C000), A *same as `$C000 = A`
A = (HL) ; expand to -> LD A, (HL)
A = $FF ; expand to -> LD A, $FF
A = $C000 ; expand to -> LD A, $C000 *Error (out of range)
A = ($C000) ; expand to -> LD A, ($C000) *Addressing at store requires bracketing
BC = $C000 ; expand to -> LD BC, $C000
BC = ($C000) ; expand to -> LD BC, ($C000)
A += B ; expand to -> ADD A, B
HL += DE ; expand to -> ADD HL, DE
A -= B ; expand to -> SUB A, B
A &= B ; expand to -> AND A, B
A |= B ; expand to -> OR A, B
A ^= B ; expand to -> XOR A, B
例えばグローバル変数の初期化をしたい時の表記が以下のようにできる。
struct VARS $C000 {
x ds.b 1
y ds.b 1
}
.main
VARS.x = 32
VARS.y = 40
いちいち「LD」を書くのが野暮ったいので以下のような簡略表記を許容したい。
例えばグローバル変数の初期化をしたい時の表記が以下のようにできる。