acme/testing/auto/unpseudo.a
marcobaye be4580af53 finally removed the 64 KiB limit, the outbuffer size is now determined at
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
2024-08-27 18:54:07 +00:00

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"
}