您的位置:首页 > 其它

[FC][单次按键按压操作]

2017-12-15 13:26 94 查看
 .ORG $B4E0
ora_data:
 .BYTE $08,$04,$02,$01,$80,$40,$20,$10
and_data:
 .BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF
 
button = $F5
flag = $010E
pause = $0025

 .org $B500
data_protect:
 PHA
 TXA
 PHA
 TYA
 PHA

pause_cmp:
 LDA pause
 CMP #$01
 BEQ button_press
 PLA
 TAY
 PLA
 TAX
 PLA
 RTS

button_press:
ini_Y:
 LDY #$00
button_cmp:
 LDA button,X
 CMP ora_data,Y
 BNE count_Y_cmp
flag_cmp:
 LDA flag,X
 AND ora_data,Y
 BNE flag_and
flag_ora:
 LDA flag,X
 ORA ora_data,Y
 STA flag,X
 BNE count_Y_cmp
flag_and:
 LDA flag,X
 AND and_data,Y
 STA flag,X
count_Y_cmp:
 INY
 CPY #$08
 BCC button_cmp
 
data_extract:
 PLA
 TAY
 PLA
 TAX
 PLA
 
return:
 RTS
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  FC修改