home *** CD-ROM | disk | FTP | other *** search
- geosMac
- SEQ formatted GEOS file V1.0
- Star NX-10
- OP V2.0 or higherR
- GEOSSYM
- BLASTER'S CONVERTER V2.5
- GEOWRITE 128
- geosSym.2
- Write Image V1.1
- geoWrite V1.1
- GEOPROGRAMMER sample file.
- .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:
- .else
- 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
- cmp #[(immed)
- done:
- .endm
- .macro PushB source
- lda source
- 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 bge addr
- bcs addr
- .endm
- .macro blt addr
- bcc addr
- .endm
- .macro bgt addr
- beq skip
- bcs addr
- skip:
- .endm
- .macro ble addr
- bcc addr
- beq 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 bitNu
- .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
- .macro bbs bitNumber,source,addr
- lda source
- and #(1 << bitNumber)
- beq nobranch
- bra addr
- nobranch:
- .endm
- .macro bbsf bitNumber,source,addr
- .if (bitNumber = 7)
- bit source
- bmi addr
- .elif (bitNumber = 6)
- bit source
- bvs addr
- .else
- lda source
- and #(1 << bitNumber)
- bne addr
- .endif
- .endm
- .macro bbr bitNumber,source,addr
- lda source
- and #(1 << bitNumber)
- bne nobranch
- bra addr
- nobranch:
- .endm
- bra addr
- nobranch:
- .endm
- .macro bbrf bitNumber,source,addr
- .if (bitNumber = 7)
- bit source
- bpl addr
- .elif (bitNumber = 6)
- bit source
- bvc addr
- .else
- lda source
- and #(1 << bitNumber)
- beq addr
- .endif
- .endm
-