1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-01 10:06:24 +00:00
6502bench/SourceGen/SGTestData/Expected/1002-embedded-instructions_64tass.S
Andy McFadden 98914e9f80 Treat BRK as a 1-byte instruction
The 65816 definition makes it a two-byte instruction, like COP.  On
the 6502 it acted like a two-byte instruction, but in practice very
few assemblers treat it that way.  Very few humans, for that matter.
So it's now treated as a single byte instruction, with the following
byte encoded as a data value.
2019-08-02 17:21:50 -07:00

78 lines
1.3 KiB
ArmAsm

.cpu "65816"
* = $1000
.as
.xs
clc
xce
sep #$30
jsr L1014
jsr L101C
jsr L102A
jsr L102F
jsr L1059
rts
L1014 lda #$00
.byte $2c
L1017 lda #$01
beq L1017
rts
L101C sep #$30
lda $00
beq L1025
lda #$00
brk
L1025 sta $012345
rts
L102A .byte $20
L102B rts
.byte $ea
bra L102B
L102F .byte $2c
L1030 .byte $2c
L1031 .byte $2c
L1032 .byte $2c
L1033 .byte $2c
L1034 .byte $2c
L1035 .byte $2c
L1036 .byte $2c
L1037 .byte $2c
L1038 nop
nop
asl a
bcc L102F
asl a
bcc L1030
asl a
bcc L1031
asl a
bcc L1032
asl a
bcc L1033
asl a
bcc L1034
asl a
bcc L1035
asl a
bcc L1036
asl a
bcc L1037
asl a
bcc L1038
rts
L1059 .byte $2c
L105A nop
.byte $ad
L105C lda $00
asl a
bcc L105A
asl a
bcc L105C
.byte $af