1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-13 12:29:49 +00:00
6502bench/SourceGen/SGTestData/Expected/20060-target-adjustment_acme.S
Andy McFadden 5f472b60cf ORG rework, part 3
Split ".org" into ".arstart" and ".arend" (address range start/end).
Address range ends are now shown in the code list view, and the
pseudo-op can be edited in app settings.  Address range starts are
now shown after notes and long comments, rather than before, which
brings the on-screen display in sync with generated code.

Reworked the address range editor UI to include the new features.
The implementation is fully broken.

More changes to the AddressMap API, putting the resolved region length
into a separate ActualLength field.  Added FindRegion().  Renamed
some things.

Code generation changed slightly: the blank line before a region-end
line now comes after it, and ACME's "} ;!pseudopc" is now just "}".
This required minor updates to some of the regression test results.
2021-09-22 15:28:11 -07:00

85 lines
1.7 KiB
ArmAsm

!cpu 6502
* = $1000
load11 lda #$11
@L1002 ldx #$22
@load33 ldy #$33
@L1006 lda #$44
@predat bne @L1042
!word $0123
@dat1 !word $4567
!word $89ab
@L1010 !word $cdef
@L1012 !word $0011
@L1014 !word $2233
!byte $80
!text "The quick brown fox"
!byte $80
!word @L1042
!word @L1041
!word @L1042+1
@fill0 !fill 16,$00
@L1041 !byte $80
@L1042 lda @predat+2
lda @L1041
asl @dat1
rol @dat1+2
ror @L1010
and @L1012
ora @L1014
lda @fill0
sta @fill0+4
lda @fill0+8
sta @fill0+12
jsr @L1002
@L1066 lda @L1006
@L1069 bit @L1066+2
ora @L1066+2
lda @L1069+1
lda @L1069+2
lda #$ea
@L1077 sta @L1077
@L107A sta @L107A+1
sta $107f ;self-ref; operand format refs nonexistent symbol
jmp @L2002
!byte $80
@dat81 !byte $81
!pseudopc $2000 {
@L2000 !byte $82
!byte $83
@L2002 nop
nop
lda @dat81
lda @L2000
jmp @L2018
@L200D !byte $7c
@L200E !byte $7d
@L200F !byte $7e
!byte $7f
@nearby !byte $80
!byte $81
!byte $82
!byte $83
@L2015 !byte $84
@L2016 !byte $85
@L2017 !byte $86
@L2018 lda @L200D
lda @L200E
lda @L200F
lda @nearby-1
lda @nearby
lda @nearby+1
lda @nearby+2
lda @nearby+3
lda @L2015
lda @L2016
lda @L2017
rts
}