1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-02 13:51:36 +00:00
6502bench/SourceGen/SGTestData/Source/20252-nested-regions.S
Andy McFadden e8608770b9 ORG rework, part 7
Implemented "is relative" flag.  This only affects source code
generation, replacing ".arstart <addr>" with ".arstart *+<value>".
Only output by 64tass and ACME generators.

Added a bold-text summary to radio buttons in address region edit
dialog.  This makes it much easier to see what you're doing.  Added
a warning to the label edit dialog when a label is being placed in
a non-addressable region.

Modified double-click behavior for .arstart/.arend to jump to the
other end when the opcode is clicked on.  This matches the behavior
of instructions with address operands.

Reordered Actions menu, putting "edit operand" at the top.

Fixed AddressMap entry collision testing.
Fixed PRG issue with multiple address regions at offset +000002.

Added regression tests.  Most of the complicated stuff with regions
is tested by unit tests inside AddressMap, but we still need to
exercise nested region code generation.
2021-10-02 15:43:41 -07:00

48 lines
984 B
ArmAsm

; Copyright 2021 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Test nested address regions.
;
; Assembler: 64tass
; % tass64 --ascii --case-sensitive --nostart 20252-nested-regions.S
.cpu "65816"
* = $081000
START
; Start with 3 nested regions that share a starting address.
; EDIT: create these as fixed-end regions; first one spans full file
.logical $011000
.logical $021000
.logical $031000
part3k lda @lpart3k
early lda early
and late
jmp part2k
.here ;031000
part2k lda @lpart2k
jmp part1k
.here ;021000
part1k lda @lpart1k
jmp end
late .byte $80
; EIDT: make this a non-addressable region
; EDIT: put a code start tag here
tag nop
rts
.dword early
end
nop
rts
REGION2_END
.here ;$011000