소스 검색

Add ASM instruction test.

master
Ben Kurtovic 8 년 전
부모
커밋
c8ecf01600
4개의 변경된 파일98개의 추가작업 그리고 0개의 파일을 삭제
  1. +1
    -0
      tests/asm/06-formatting.asm
  2. +96
    -0
      tests/asm/08-instructions.asm
  3. +1
    -0
      tests/asm/manifest
  4. BIN
     

+ 1
- 0
tests/asm/06-formatting.asm 파일 보기

@@ -12,4 +12,5 @@ foo: .inCLUde "06.inc.asm"

ayy: lmao:
di
InC a
ret

+ 96
- 0
tests/asm/08-instructions.asm 파일 보기

@@ -5,3 +5,99 @@

; 08-instructions.asm
; Exhaustive test of instruction syntax

.define COUNTER $C010
.define OFFSET 6
.define OFFSET2 157

.org $1000

str1: .ascii "Hello, world!"

.org $0000
main:
di
call inst
halt

.org $0066
nmi:
retn

.org $2000
inst:
inc a
inc c
inc hl
inc sp
inc (hl)
inc ( hl )
inc ix
inc iyl
inc (ix)
inc ( ix )
inc (iy+0)
inc (ix+3)
inc (ix+OFFSET)
inc (ix-OFFSET)
inc ( ix + 7 )
inc (ix-8)
inc (ix - +9)
inc (iy+127)
inc (iy-128)

add a, e
add a, 5
add a, $12
add a, (hl)
add a, (ix+4)
add hl, bc
add ix, de

adc a, e
adc a, 5
adc a, $12
adc a, (hl)
adc a, (ix+4)
adc hl, bc

rlca
rrca
rla
rra
daa
cpl
scf
ccf
halt
exx
ei
di
cpd
cpdr
cpi
cpir
ind
indr
ini
inir
ldd
lddr
ldi
ldir
otdr
otir
outd
outi
rrd
rld

ld hl, COUNTER ; H contains $C0, L contains $10
ld d, (hl) ; D contains $FF (garbage)
ld c, $3B ; C contains $3B
ld (hl), c ; memory address $C010 contains $3B

ld hl, str1
ld b, (hl) ; B contains 'H'
ld hl, (str1) ; H contains 'e', L contains 'H'
ld (hl), b ; error, writing to cartridge ROM

+ 1
- 0
tests/asm/manifest 파일 보기

@@ -5,3 +5,4 @@
05-includes.asm 05-includes.gg
06-formatting.asm 06-formatting.gg
07-data.asm 07-data.gg
08-instructions.asm 08-instructions.gg


불러오는 중...
취소
저장