mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-19 20:29:36 +00:00
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.
48 lines
984 B
ArmAsm
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
|