All pastes #2096590 Raw Edit

Someone

public text v1 · immutable
#2096590 ·published 2011-12-27 11:55 UTC
rendered paste body

REM Create a 1024 byte buffer
DIM buffer% 1024

REM Two passes, with options 4 and 7 (offset assembly, runtime != assemble time)
FOR pass=4 TO 7 STEP 3

REM Set up target address and output buffer address.
P%=&8000
O%=buffer%

REM Start assembly

[
OPT pass

CLC
BCC start

EQUS "some string constant"
EQUD &FFEEDDCC
EQUW &FFEE
EQUB &FF

.start
LDA #42
JSR &FFEE
RTS

]

NEXT pass

REM Output addresses and save ROM image
PRINT "Start address: ",~buffer%
PRINT "End address: ", ~O%

PRINT "Saving as rom (always saves &4000 (16K) bytes"
OSCLI("SAVE ROM "+STR$~(buffer%)+" +4000")