.equ foo 456 ; AFTER_ORG should not get that value .org 0x1234 .equ AFTER_ORG @ .org 0 jp test .inc "core.asm" dummyLabel: testNum: .db 1 .equ dummyLabel 0x42 test: ld hl, 0xffff ld sp, hl ; *** Just little z80 flags memo. and a ; clear carry ld hl, 100 ld de, 101 sbc hl, de jp nc, fail ; carry is set call nexttest and a ; clear carry ld hl, 101 ld de, 100 sbc hl, de jp c, fail ; carry is reset call nexttest ld a, 1 dec a jp m, fail ; positive dec a jp p, fail ; negative call nexttest ; Test that .equ can override label ld a, 0x42 ld hl, dummyLabel cp l jp nz, fail call nexttest ; test that "@" is updated by a .org directive ld hl, AFTER_ORG ld de, 0x1234 call cpHLDE jp nz, fail call nexttest ; *** cpHLDE *** ld hl, 0x42 ld de, 0x42 call cpHLDE jp nz, fail jp c, fail call nexttest ld de, 0x4242 call cpHLDE jp z, fail jp nc, fail call nexttest ld hl, 0x4243 call cpHLDE jp z, fail jp c, fail call nexttest ; success xor a halt nexttest: ld a, (testNum) inc a ld (testNum), a ret fail: ld a, (testNum) halt