1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-13 14:29:23 +00:00
6502bench/SourceGen/SGTestData/Expected/2004-numeric-types_cc65.S
Andy McFadden 0bbb307d4e Correct handling of no-op .ORG statements
These were being overlooked because they didn't actually cause
anything to happen (a no-op .ORG sets the address to what it would
already have been).  The assembly source generator works in a way
that causes them to be skipped, so everybody was happy.

This seemed like the sort of thing that was likely to cause problems
down the road, however, so we now split regions correctly when a
no-op .ORG is encountered.  This affects the uncategorized data
analyzer and selection grouping.

This changed the behavior of the 2004-numeric-types test, which was
visibly weird in the UI but generated correct output.

Added the 2024-ui-edge-cases test to provide a place to exercise
edge cases when testing the UI by hand.  It has some value for the
automated regression test, so it's included there.

Also, changed the AddressMapEntry objects to be immutable.  This
is handy when passing lists of them around.
2020-02-28 14:49:18 -08:00

91 lines
2.3 KiB
ArmAsm

;Project file was edited to get all big-endian data types, and to have an
;incorrect .junk alignment directive.
.setcpu "6502"
; .segment "SEG000"
.org $1000
bit L1448
jsr L14A8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
rts
.byte $11
.word $1122
.faraddr $112233
.dword $11223344
.byte $11
.dbyt $1122
.byte $11,$22,$33
.byte $11,$22,$33,$44
.res 2,$00
.byte $80
.res 3,$00
.byte $80
.res 4,$00
.byte $80
.res 5,$00
.byte $80
.res 256,$00
.byte $80
.res 257,$cc
.byte $11
.byte $80
.byte $11,$22,$33,$44,$55,$66,$77,$88,$99,$00
.byte $80
LABEL: .byte $00,$11,$22,$33,$44,$55,$66,$77,$88,$99,$aa,$bb,$cc,$dd,$ee,$ff ;comment on bulk
.byte $00,$11,$22,$33,$44,$55,$66,$77,$88,$99,$aa,$bb,$cc,$dd,$ee,$ff
.byte $00,$11,$22,$33,$44,$55,$66,$77,$88,$99,$aa,$bb,$cc,$dd,$ee,$ff
.byte $ff,$ee,$dd,$cc,$bb,$aa,$99,$88,$77,$66,$55,$44,$33,$22,$11,$00
.byte $80
.res 115,$aa
.byte $81
.res 63,$00
.byte $81
.res 31,$ab
.byte $00,$00,$00,$00,$00,$00,$00,$01
.byte $81
.byte $10,$00,$00,$00,$00,$00,$00,$00
.byte $81
.res 2,$dd ;incorrect alignment
.res 140,$00
.res 8,$82
; .segment "SEG001"
.org $1408
.res 8,$82 ;note no-op .ORG
.res 8,$83
; .segment "SEG002"
.org $1428
.res 8,$83 ;meaningful .ORG
.res 8,$84
UserLabel: .res 8,$84
.res 8,$85
L1448: .res 8,$85
.res 16,$86
.res 8,$87
;long comment
.res 8,$87
.res 16,$88
.res 8,$89
.res 8,$89
.res 8,$8a
.res 8,$8a
.res 8,$8b
L14A8: .res 8,$8b
.res 8,$8c
.byte %10001100
.res 7,$8c