2019-05-30 15:55:53 +00:00
|
|
|
// Test elimination of noop-casts (signed byte to byte)
|
|
|
|
.pc = $801 "Basic"
|
|
|
|
:BasicUpstart(main)
|
|
|
|
.pc = $80d "Program"
|
|
|
|
main: {
|
|
|
|
.label screen = $400
|
|
|
|
.label sw = 2
|
|
|
|
lda #<$1234
|
2019-08-07 19:00:19 +00:00
|
|
|
sta.z sw
|
2019-05-30 15:55:53 +00:00
|
|
|
lda #>$1234
|
2019-08-07 19:00:19 +00:00
|
|
|
sta.z sw+1
|
2019-05-30 15:55:53 +00:00
|
|
|
ldx #0
|
2019-09-29 21:13:37 +00:00
|
|
|
__b1:
|
2019-05-30 15:55:53 +00:00
|
|
|
txa
|
2019-08-07 19:00:19 +00:00
|
|
|
sta.z $fe
|
2019-05-30 15:55:53 +00:00
|
|
|
ora #$7f
|
|
|
|
bmi !+
|
|
|
|
lda #0
|
|
|
|
!:
|
2019-08-07 19:00:19 +00:00
|
|
|
sta.z $ff
|
2019-05-30 15:55:53 +00:00
|
|
|
clc
|
2019-08-07 19:00:19 +00:00
|
|
|
lda.z sw
|
|
|
|
adc.z $fe
|
|
|
|
sta.z sw
|
|
|
|
lda.z sw+1
|
|
|
|
adc.z $ff
|
|
|
|
sta.z sw+1
|
2019-05-30 15:55:53 +00:00
|
|
|
txa
|
|
|
|
asl
|
|
|
|
tay
|
2019-08-07 19:00:19 +00:00
|
|
|
lda.z sw
|
2019-05-30 15:55:53 +00:00
|
|
|
sta screen,y
|
2019-08-07 19:00:19 +00:00
|
|
|
lda.z sw+1
|
2019-05-30 15:55:53 +00:00
|
|
|
sta screen+1,y
|
|
|
|
inx
|
|
|
|
cpx #$b
|
2019-09-29 21:13:37 +00:00
|
|
|
bne __b1
|
2019-05-30 15:55:53 +00:00
|
|
|
rts
|
|
|
|
}
|