mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-01 10:06:24 +00:00
98914e9f80
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.
78 lines
1.3 KiB
ArmAsm
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
|