home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
GEOSApps
/
LOC128SRCB.SFX
/
newfmac
(
.txt
)
< prev
next >
Wrap
GEOS ConVerT
|
1990-02-12
|
4KB
|
204 lines
NewFmac
PRG formatted GEOS file V1.0
StarNX-1000C
NewFsym
NEWF.SRC
LOCATE128.DOC
ReadMeFirst
Write Image V2.1
geoWrite V1.1
GEOPROGRAMMER sample file. macros for Locate128
.macro LoadB dest,value
lda #value
sta dest
.endm
.macro LoadW dest,value
lda #](value)
sta dest+1
lda #[(value)
sta dest+0
.endm
.macro MoveB source,dest
lda source
sta dest
.endm
.macro MoveW source,dest
lda source+1
sta dest+1
lda source+0
sta dest+0
.endm
.macro add source
adc source
.endm
.macro AddB source,dest
lda source
adc dest
sta dest
.endm
.macro AddW source,dest
lda source
adc dest+0
sta dest+0
lda source+1
adc dest+1
sta dest+1
.endm
.macro AddVB value,dest
lda dest
adc #value
sta dest
.endm
.macro AddVW value,dest
lda #[(value)
adc dest+0
sta dest+0
.if (value >= 0) && (value <= 255)
bcc noInc
inc dest+1
noInc:
.macro AddVW value,dest
lda #[(value)
adc dest+0
sta dest+0
.if (value >= 0) && (value <= 255)
bcc noInc
inc dest+1
noInc:
.else
lda #](value)
adc dest+1
sta dest+1
.endif
.endm
.macro sub source
sbc source
.endm
.macro SubB source,dest
lda dest
sbc source
sta dest
.endm
.macro SubW source,dest
lda dest+0
sbc source+0
sta dest+0
lda dest+1
sbc source+1
sta dest+1
.endm
.macro CmpB source,dest
lda source
cmp dest
.endm
.macro CmpBI source,immed
lda source
cmp #immed
.endm
.macro CmpW source,dest
lda source+1
cmp dest+1
bne done
lda source+0
cmp dest+0
done:
.endm
.macro CmpWI source,immed
lda source+1
cmp #](immed)
bne done
lda source+0
.macro CmpWI source,immed
lda source+1
cmp #](immed)
bne done
lda source+0
cmp #[(immed)
done:
.endm
.macro PushB source
lda source
.endm
.macro PushW source
lda source+1
lda source+0
.endm
.macro PopB dest
sta dest
.endm
.macro PopW dest
sta dest+0
sta dest+1
.endm
.macro bra addr
bvc addr
.endm
.macro smb bitNumber,dest
lda #(1 << bitNumber)
ora dest
sta dest
.endm
.macro smbf bitNumber,dest
lda #(1 << bitNumber)
ora dest
sta dest
.endm
.macro rmb bitNumber,dest
lda #[~(1 << bitNumber)
and dest
sta dest
.endm
.macro rmbf bitNumber,dest
lda #[~(1 << bitNumber)
and dest
sta dest
.endm
inc dest+1
done:
.macro blt addr
bcc addr
.endm
.macro SubVW value,dest
lda dest+0
sbc #[(value)
sta dest+0
.if (value >= 0) && (value <= 255)
bcs noInc
dec dest+1
noInc:
.else
lda dest+1
sbc #](value)
sta dest+1
.endif
.endm
.macro IncW addr
inc addr
bne done
inc addr+1
done:
.endm
dest+1
.endm
.macro bra addr
bvc addr
.endm
.macro smb bitNumber,dest
lda #(1 << bitNumber)
ora dest
sta dest
.endm
.macro smbf bitNumber,dest
lda #(1 << bitNumbe
Appendix Z
128 DUALTOP Macros
_______________________________________________________________________
acro MoveB source,dest
lda source
sta dest
.endm
.macro MoveW source,dest
lda s
_______________________________________________________________________
Page Z-PAGE