|
- jp test
-
- .inc "core.asm"
-
- testNum: .db 1
-
- 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
-
- ; *** subHL ***
- ld hl, 0x123
- ld a, 0x25
- call subHL
- ld a, h
- cp 0
- jp nz, fail
- ld a, l
- cp 0xfe
- jp nz, fail
- call nexttest
-
- ld hl, 0x125
- ld a, 0x23
- call subHL
- ld a, h
- cp 1
- jp nz, fail
- ld a, l
- cp 0x02
- jp nz, fail
- call nexttest
-
- ld hl, 0x125
- ld a, 0x25
- call subHL
- ld a, h
- cp 1
- jp nz, fail
- ld a, l
- cp 0
- 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
|