📄 switch.asm
字号:
;设有一个键盘共有5个键,其功能分别如下所示
;键名 键值 处理该键的子程序标号
;切换 00H SWITCH
;移位 01H SHIFT
;加1 02H INCREASE
;减1 03H DECREASE
;清0 04H CLEAR
;这其中键值是由键盘处理程序获得的,关于键盘的处理在后面专门有分析,这里可以理解为当按下某一个键后,就能在累加器A中获得相应的键值。
MOV A,#2 ;模拟获得键值,读者可将此值改为0,1,2,3,4后重新汇编再试
LOOP:
MOV DPTR,#TAB ;TAB是散转表的起始地址
CLR C
RLC A ;这两条指令的用途是将A中值乘2
JMP @A+DPTR ;散转
TAB: AJMP SWITCH ;散转表
AJMP SHIFT ;TAB+2
AJMP INCREASE ;TAB+4
AJMP DECREASE ;TAB+6
AJMP CLEAR ;TAB+8
SWITCH: NOP ;实现切换功能的程序段
LJMP LOOP
SHIFT: NOP ;实现移位功能的程序段
LJMP LOOP
INCREASE:NOP ;实现加1功能的程序段
LJMP LOOP
DECREASE: NOP ;实现减1功能的程序段
LJMP LOOP
CLEAR: NOP ;实现清零功能的程序段
LJMP LOOP
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -