Code: Select all
coltable .DB $00,$00,$00,$00,$FF,$FF,$FF,$00,$68,$37,$2B,$00,$70,$A4,$B2,$00 ;4-bit C-64Code: Select all
coltable .DB $00,$00,$00,$00,$FF,$FF,$FF,$00,$68,$37,$2B,$00,$70,$A4,$B2,$00 ;4-bit C-64Code: Select all
.BYTE "Hello World",$0D,$0A,0
Code: Select all
.include "header-dev65.asm"
; .include "header-hxa.asm"
Code: Select all
==> header-dev65.asm <==
;; assembly header for Dev65 assembler
;; http://www.obelisk.demon.co.uk/dev65/as65.html
mesg .macro sometext
.byte sometext
.endm
Code: Select all
==> header-hxa.asm <==
;; assembly header for HXA assembler
;; http://home.earthlink.net/~hxa/docs/hxa.htm#l7e
.hexfile
.listfile
.errfile
.cpu T_32_M16
.assume BIT32=1032, BIT32R=3210
.include "i6502.a"
macro mesg, ?sometext
.str ?sometext
.endm
Code: Select all
;; sign extension - will set Z and N, but disturbs C and V
signextend .macro dummy
eor #$80
sec
sbc #$80
.endm
Code: Select all
;; untested! sign extension - will set Z and N, preserve C and V
signextend .macro dummy
php
eor #$80
sec
sbc #$80
sta atemp
plp
lda atemp
.endm
Code: Select all
LDX #0
REPEAT
CPX #10
BREAK EQ
INX
FOREVER
Code: Select all
FFFFF000 00B5E000 : LDA $FFFFE000,X
FFFFF002 00BDE000FFFF : LDA |$FFFFE000,X
FFFFF005 00BDE000FFFF : LDA !$FFFFE000,X
Code: Select all
FFFFF000 00BD8000FFFF : LDA $FFFF8000,X
FFFFF003 00BD8000FFFF : LDA !$FFFF8000,X
FFFFF006 00BD8000FFFF : LDA |$FFFF8000,X
Code: Select all
.cpu T_16_L
Code: Select all
.cpu T_32_L16
Code: Select all
.byte $ABCD ; one byte
.word $ABCD ; two bytes, native order
.revword $ABCD ; two bytes, reverse native order
Code: Select all
DC ; wrong - should be CD
DC BA ; wrong - should be CD AB
AB CD ; correct
Code: Select all
.cpu T_32_L16
.assume BIT16=10, BIT32=1032
.byte $ABCD
.word $ABCD
.revword $ABCD
Code: Select all
CD
CD AB
AB CD
Code: Select all
.cpu T_32_M16
.assume BIT32=1032, BIT32R=3210
Code: Select all
.cpu T_16_L08
.str "123" ; -> 31 32 33
.cpu T_16_M08
.str "123" ; -> 31 32 33
.cpu T_32_L16
.str "123" ; -> 31 00 32 00 33 00
.cpu T_32_M16
.str "123" ; -> 00 31 00 32 00 33
.cpu T_32_L32
.str "123" ; -> 31 00 00 00 32 00 00 00 33 00 00 00
.cpu T_32_M32
.str "123" ; -> 00 00 00 31 00 00 00 32 00 00 00 33
Code: Select all
.cpu T_32_M16
.assume BIT32=1032, BIT32R=3210
Code: Select all
FFFFF000 00BD8000FFFF : LDA $FFFF8000,X
FFFFF003 00BD8000FFFF : LDA !$FFFF8000,X
FFFFF006 00BD8000FFFF : LDA |$FFFF8000,X
FFFFF009 00B58000 : LDA $00008000,X
FFFFF00B 00BD80000000 : LDA !$00008000,X
FFFFF00E 00BD80000000 : LDA |$00008000,X
FFFFF011 00EE8000FFFF : INC $FFFF8000
FFFFF014 00EE8000FFFF : INC !$FFFF8000
FFFFF017 00EE8000FFFF : INC |$FFFF8000
FFFFF01A 00E68000 : INC $00008000
FFFFF01C 00EE80000000 : INC !$00008000
FFFFF01F 00EE80000000 : INC |$00008000