[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
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
相关文章推荐
- Vim实战手册(4)常用编辑操作按键
- Android学习笔记之按键操作
- 使用Python 3.5/3.6监听本机任意窗口中的按键操作
- Android Framework层Power键关机流程(一,Power长按键操作处理)
- 基于LinkIt one的Arduino编程学习-按键操作
- arm驱动程序——按键程序6_互斥1—原子操作(韦东山的视频总结及针对linux-2.6.30)
- 转发 Mac 键盘上的按键操作
- 按键操作
- Frame动画+按键监听(实现窗户打开关闭操作)
- 01基本键盘操作——判断按键消息
- stm32 按键操作
- Vim实战手册(5)常用多缓冲区操作按键
- 【转】Windows Mobile上的模拟按键操作
- Android Framework层Power键关机流程(一,Power长按键操作处理)
- Windows Mobile上的模拟按键操作
- Linux终端那些"风骚"的按键操作
- android定制化软件修改或添加按键驱动的核心操作步骤讲解
- s5pv210使用查询方式实现按键灯操作
- Vim实战手册(6)常用搜索与书签操作按键
- NBA 2K11键盘按键操作介绍