1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-14 05:28:55 +00:00
6502bench/SourceGen/SGTestData/Expected/2004-numeric-types_acme.S
Andy McFadden f157fbbfd3 Add regression test for data analysis bug
The uncategorized data scanner isn't supposed to create strings or
".fill" directives that straddle labels, long comments, notes,
visualizations, or ORG directives.  The test for crossing an ORG
directive is incomplete, and doesn't correctly handle no-op ORGs
(where the new address is the same as the old address).

The code generator doesn't output ORGs that are hidden inside other
things, so we're not generating bad code, but it looks funny on
screen and may cause problems later on.  The 2004-numeric-types test
has the basic .align/.fill/.bulk directive tests, and now has an
extended set of tests for uncategorized data region splitting.
2019-12-30 14:09:18 -08:00

85 lines
1.9 KiB
ArmAsm

;Project file was edited to get all big-endian data types, and to have an
;incorrect .junk alignment directive.
!cpu 6502
* = $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
!24 $112233
!32 $11223344
!byte $11
!byte $11,$22
!byte $11,$22,$33
!byte $11,$22,$33,$44
!fill 2,$00
!byte $80
!fill 3,$00
!byte $80
!fill 4,$00
!byte $80
!fill 5,$00
!byte $80
!fill 256,$00
!byte $80
!fill 257,$cc
!hex 11
!byte $80
!hex 11223344556677889900
!byte $80
LABEL !hex 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff ;comment on bulk
!hex 00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100
!byte $80
!align 255,0,$aa
!byte $81
!align 63,0,$00
!byte $81
!align 31,0,$ab
!hex 0000000000000001
!byte $81
!hex 1000000000000000
!byte $81
!fill 2,$dd ;incorrect alignment
!align 255,0,$00
!fill 16,$82
!fill 8,$83
!pseudopc $1428 {
!fill 8,$83
!fill 8,$84
UserLabel !fill 8,$84
!fill 8,$85
L1448 !fill 8,$85
!fill 16,$86
!fill 8,$87
;long comment
!fill 8,$87
!fill 16,$88
!fill 8,$89
!fill 8,$89
!fill 8,$8a
!fill 8,$8a
!fill 8,$8b
L14A8 !fill 8,$8b
!fill 8,$8c
!byte %10001100
!fill 7,$8c
} ;!pseudopc