1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-30 01:50:10 +00:00
6502bench/SourceGen/SGTestData/Expected/1002-embedded-instructions_cc65.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

79 lines
1.4 KiB
ArmAsm

.setcpu "65816"
; .segment "SEG000"
.org $1000
.a8
.i8
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