fixed LoadW for doing 16-bit offsets loads, not only constants
git-svn-id: svn://svn.cc65.org/cc65/trunk@1300 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
;GEOS macros
|
;GEOS macros
|
||||||
;reassembled for 6502TASM/MMS by Maciej 'YTM/Alliance' Witkowiak
|
;reassembled for 6502TASM/MMS by Maciej 'YTM/Elysium' Witkowiak
|
||||||
;4-2-99
|
;4-2-99
|
||||||
|
|
||||||
;28-6-99 - ca65 port
|
;28-6-99 - ca65 port
|
||||||
@@ -11,51 +11,47 @@
|
|||||||
lda #value
|
lda #value
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro LoadW dest, value
|
.macro LoadW dest, value
|
||||||
lda #>value
|
LoadB dest+1, >value
|
||||||
sta dest+1
|
LoadB dest+0, <value
|
||||||
.if (>value)<>(<value)
|
|
||||||
lda #<value
|
|
||||||
.endif
|
|
||||||
sta dest+0
|
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro MoveB source, dest
|
.macro MoveB source, dest
|
||||||
lda source
|
lda source
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro MoveW source, dest
|
.macro MoveW source, dest
|
||||||
MoveB source+1, dest+1
|
MoveB source+1, dest+1
|
||||||
MoveB source+0, dest+0
|
MoveB source+0, dest+0
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro add source
|
.macro add source
|
||||||
clc
|
clc
|
||||||
adc source
|
adc source
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro AddB source, dest
|
.macro AddB source, dest
|
||||||
lda source
|
lda source
|
||||||
add dest
|
add dest
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro AddW source, dest
|
.macro AddW source, dest
|
||||||
AddB source+0, dest+0
|
AddB source+0, dest+0
|
||||||
lda source+1
|
lda source+1
|
||||||
adc dest+1
|
adc dest+1
|
||||||
sta dest+1
|
sta dest+1
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro AddVB value, dest
|
.macro AddVB value, dest
|
||||||
lda dest
|
lda dest
|
||||||
clc
|
clc
|
||||||
adc #value
|
adc #value
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro AddVW value, dest
|
.macro AddVW value, dest
|
||||||
.local Skip
|
.local Skip
|
||||||
clc
|
clc
|
||||||
@@ -72,25 +68,25 @@
|
|||||||
.endif
|
.endif
|
||||||
Skip:
|
Skip:
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro ssub source
|
.macro ssub source
|
||||||
sec
|
sec
|
||||||
sbc source
|
sbc source
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro SubB source, dest
|
.macro SubB source, dest
|
||||||
lda dest
|
lda dest
|
||||||
ssub source
|
ssub source
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro SubW source, dest
|
.macro SubW source, dest
|
||||||
SubB source+0, dest+0
|
SubB source+0, dest+0
|
||||||
lda dest+1
|
lda dest+1
|
||||||
sbc source+1
|
sbc source+1
|
||||||
sta dest+1
|
sta dest+1
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro SubVW value, dest
|
.macro SubVW value, dest
|
||||||
sec
|
sec
|
||||||
lda dest+0
|
lda dest+0
|
||||||
@@ -100,17 +96,17 @@ Skip:
|
|||||||
sbc #>value
|
sbc #>value
|
||||||
sta dest+1
|
sta dest+1
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro CmpB source, dest
|
.macro CmpB source, dest
|
||||||
lda source
|
lda source
|
||||||
cmp dest
|
cmp dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro CmpBI source, immed
|
.macro CmpBI source, immed
|
||||||
lda source
|
lda source
|
||||||
cmp #immed
|
cmp #immed
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro CmpW source, dest
|
.macro CmpW source, dest
|
||||||
.local Skip
|
.local Skip
|
||||||
CmpB source+1, dest+1
|
CmpB source+1, dest+1
|
||||||
@@ -118,7 +114,7 @@ Skip:
|
|||||||
CmpB source+0, dest+0
|
CmpB source+0, dest+0
|
||||||
Skip:
|
Skip:
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro CmpWI source, immed
|
.macro CmpWI source, immed
|
||||||
.local Skip
|
.local Skip
|
||||||
CmpBI source+1, >immed
|
CmpBI source+1, >immed
|
||||||
@@ -126,32 +122,32 @@ Skip:
|
|||||||
CmpBI source+0, <immed
|
CmpBI source+0, <immed
|
||||||
Skip:
|
Skip:
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro PushB source
|
.macro PushB source
|
||||||
lda source
|
lda source
|
||||||
pha
|
pha
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro PushW source
|
.macro PushW source
|
||||||
PushB source+1
|
PushB source+1
|
||||||
PushB source+0
|
PushB source+0
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro PopB dest
|
.macro PopB dest
|
||||||
pla
|
pla
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro PopW dest
|
.macro PopW dest
|
||||||
PopB dest+0
|
PopB dest+0
|
||||||
PopB dest+1
|
PopB dest+1
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bra addr
|
.macro bra addr
|
||||||
clv
|
clv
|
||||||
bvc addr
|
bvc addr
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro smb bitNumber, dest
|
.macro smb bitNumber, dest
|
||||||
pha
|
pha
|
||||||
lda #(1 << bitNumber)
|
lda #(1 << bitNumber)
|
||||||
@@ -159,13 +155,13 @@ Skip:
|
|||||||
sta dest
|
sta dest
|
||||||
pla
|
pla
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro smbf bitNumber, dest
|
.macro smbf bitNumber, dest
|
||||||
lda #(1 << bitNumber)
|
lda #(1 << bitNumber)
|
||||||
ora dest
|
ora dest
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro rmb bitNumber, dest
|
.macro rmb bitNumber, dest
|
||||||
pha
|
pha
|
||||||
lda #(1 << bitNumber) ^ $ff
|
lda #(1 << bitNumber) ^ $ff
|
||||||
@@ -173,13 +169,13 @@ Skip:
|
|||||||
sta dest
|
sta dest
|
||||||
pla
|
pla
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro rmbf bitNumber, dest
|
.macro rmbf bitNumber, dest
|
||||||
lda #(1 << bitNumber) ^ $ff
|
lda #(1 << bitNumber) ^ $ff
|
||||||
ora dest
|
ora dest
|
||||||
sta dest
|
sta dest
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bbs bitNumber, source, addr
|
.macro bbs bitNumber, source, addr
|
||||||
.local Skip
|
.local Skip
|
||||||
php
|
php
|
||||||
@@ -193,7 +189,7 @@ Skip:
|
|||||||
Skip: pla
|
Skip: pla
|
||||||
plp
|
plp
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bbsf bitNumber, source, addr
|
.macro bbsf bitNumber, source, addr
|
||||||
.if bitNumber=7
|
.if bitNumber=7
|
||||||
bit source
|
bit source
|
||||||
@@ -209,7 +205,7 @@ Skip: pla
|
|||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bbr bitNumber, source, addr
|
.macro bbr bitNumber, source, addr
|
||||||
.local Skip
|
.local Skip
|
||||||
php
|
php
|
||||||
@@ -223,7 +219,7 @@ Skip: pla
|
|||||||
Skip: pla
|
Skip: pla
|
||||||
plp
|
plp
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bbrf bitNumber, source, addr
|
.macro bbrf bitNumber, source, addr
|
||||||
.if bitNumber=7
|
.if bitNumber=7
|
||||||
bit source
|
bit source
|
||||||
@@ -239,25 +235,25 @@ Skip: pla
|
|||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
;03.03.99 by Maciej Witkowiak
|
;03.03.99 by Maciej Witkowiak
|
||||||
|
|
||||||
.macro addv value
|
.macro addv value
|
||||||
clc
|
clc
|
||||||
adc #value
|
adc #value
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro subv value
|
.macro subv value
|
||||||
sec
|
sec
|
||||||
sbc #value
|
sbc #value
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro bnex addr
|
.macro bnex addr
|
||||||
txa
|
txa
|
||||||
bne addr
|
bne addr
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro beqx addr
|
.macro beqx addr
|
||||||
txa
|
txa
|
||||||
beq addr
|
beq addr
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|||||||
Reference in New Issue
Block a user