mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-18 15:06:07 +00:00
2828cc8ca7
A ".dd2 <address>" item would get linked to an internal label, but references to external addresses weren't doing the appropriate search through the platform/project symbol list. This change altered the output of the 2019-local-variables test. The previous behavior was restored by disabling "nearby" symbol matching in the project properties. Updated the "lookup symbol by address" function to ignore local variables. Also, minor updates to Applesoft and F8-ROM symbol tables.
111 lines
2.8 KiB
ArmAsm
111 lines
2.8 KiB
ArmAsm
;Edited to have duplicate labels (PROJ_ZERO, DPCODE).
|
|
.setcpu "65816"
|
|
PROJ_ZERO = $00 ;project addr
|
|
PROJ_ONE = $01 ;project addr
|
|
CONST_ZERO = $f0 ;project const
|
|
|
|
; .segment "SEG000"
|
|
.org $1000
|
|
.a8
|
|
.i8
|
|
ldy PROJ_ZERO
|
|
lda (PROJ_ONE),y
|
|
sta $03 ;could be PROJ_ONE+2, but "nearby" is off
|
|
ldx $04
|
|
lda CONST_ZERO,S
|
|
sta $f1,S
|
|
VAR_ZERO .set $00
|
|
VAR_TWO .set $02
|
|
VAR_THREE .set $03
|
|
CONST_ZERO_VAR .set $f0
|
|
ldy VAR_ZERO
|
|
lda (VAR_ZERO+1),y
|
|
sta VAR_THREE
|
|
ldx $04
|
|
lda CONST_ZERO_VAR,S
|
|
sta $f1,S
|
|
eor 0
|
|
ora 240,S
|
|
PROJ_ZERO_DUP1 .set $10 ;clash with project symbol
|
|
DPCODE_DUP1 .set $80 ;clash with user label
|
|
lda VAR_ZERO
|
|
lda VAR_ZERO+1
|
|
lda VAR_TWO
|
|
lda VAR_THREE
|
|
lda $04
|
|
lda PROJ_ZERO_DUP1
|
|
lda $11
|
|
lda z:DPCODE
|
|
ldx PROJ_ZERO
|
|
ldx PROJ_ONE
|
|
ldx $02
|
|
bit $ffa9
|
|
ldy PROJ_ZERO
|
|
ldy PROJ_ONE
|
|
ldy $02
|
|
.byte $2c
|
|
NH0 .set $00 ;not hidden
|
|
NH1 .set $01 ;not hidden
|
|
L103C: lda #$fe
|
|
beq L103C
|
|
ldy NH0
|
|
ldy NH1
|
|
ldy $02
|
|
nop
|
|
PTR0 .set $10
|
|
CONST0 .set $10
|
|
lda PTR0
|
|
ldx PTR0+1
|
|
ldy $12
|
|
lda (CONST0,S),y
|
|
sta (CONST0+3,S),y
|
|
;Test name redefinition. This is mostly of interest for assemblers without
|
|
;redefinable variables, but also of interest to the cross-reference window.
|
|
PTR .set $20 ;#1
|
|
ldx PTR
|
|
PTR .set $22 ;#2
|
|
ldx PTR
|
|
PTR .set $24 ;#3
|
|
ldx PTR
|
|
PTR_1: nop
|
|
PTR_A .set $20
|
|
ldy PTR_A
|
|
PTR_B .set $1f
|
|
ldy PTR_B+1
|
|
PTR_C .set $1d
|
|
ldy PTR_C+3
|
|
PTR_D .set $21
|
|
ldy PTR_C+3
|
|
VAL0 .set $30
|
|
VAL1 .set $31
|
|
VAL2 .set $32
|
|
VAL3 .set $33
|
|
VAL4 .set $34
|
|
VAL5 .set $35
|
|
and VAL0
|
|
and VAL1
|
|
and VAL2
|
|
and VAL3
|
|
and VAL4
|
|
and VAL5
|
|
VAL14 .set $31
|
|
and VAL0
|
|
and VAL14
|
|
and VAL14+1
|
|
and VAL14+2
|
|
and VAL14+3
|
|
and VAL5
|
|
DPNOP .set $80 ;same as org
|
|
lda z:DPCODE
|
|
jsr DPCODE
|
|
rts
|
|
|
|
; .segment "SEG001"
|
|
.org $0080
|
|
DPCODE: nop
|
|
lda DPCODE
|
|
lda a:DPCODE
|
|
lda f:DPCODE
|
|
rts
|
|
|