mirror of
https://github.com/uffejakobsen/acme.git
synced 2024-11-21 11:32:23 +00:00
be4580af53
runtime. I added a hard limit of 64 MiB, but that value is completely arbitrary. git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@402 4df02467-bbd4-4a76-a152-e7ce94205b78
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
*=$1000
|
|
label1 nop
|
|
!pseudopc $0300 {
|
|
label2 nop
|
|
!if * != $0301 { !error "pseudo pc is not $0301" }
|
|
!if &* != $1002 { !error "un-pseudo'd pc is not $1002" }
|
|
selfmod = * + 1
|
|
lda #$ff
|
|
|
|
does_not_make_sense = label1 + 1
|
|
|
|
*=$0380
|
|
nop
|
|
!if * != $0381 { !error "pseudo pc is not $0381" }
|
|
!if &* != $1082 { !error "un-pseudo'd pc is not $1082" }
|
|
}
|
|
!if * != $1082 { !error "pc is not $1082" }
|
|
|
|
!if label2 != $0300 { !error "label2 is not $0300" }
|
|
!if &label2 != $1001 { !error "&label2 is not $1001" }
|
|
|
|
!if selfmod != $0302 { !error "selfmod is not $0302" }
|
|
!if &selfmod != $1003 { !error "&selfmod is not $1003" }
|
|
|
|
!if does_not_make_sense != $1001 { !error "dnms is not $1001" }
|
|
!if &does_not_make_sense != $1d02 { !error "dnms is not $1d02" }
|
|
|
|
; older versions automatically wrapped the pseudopc to zero, I now
|
|
; realize this should be considered a bug:
|
|
!pseudopc $fffe {
|
|
!by 0, 1, 2, 3
|
|
label3 }
|
|
!if label3 != $10002 {
|
|
!error "pseudopc seems to wrap to zero after $ffff"
|
|
}
|
|
; and even worse, older versions automatically wrapped the outbuf index
|
|
; to zero as well, this is now also considered a bug:
|
|
*=$10000 ; enter "second bank"
|
|
!if * == 0 {
|
|
!error "pc seems to wrap to zero after $ffff"
|
|
}
|