请高人注释一下这一段汇编代码 要详细点 不胜感激
答案:1 悬赏:50 手机版
解决时间 2021-04-26 19:28
- 提问者网友:我没有何以琛的痴心不悔
- 2021-04-26 02:59
请高人注释一下这一段汇编代码 要详细点 不胜感激
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-26 04:21
KEYSCAN ;按键扫描例程
BCF STATUS,RP1;
BSF STATUS,RP0; ;bank切换
BCF OPTION_REG,7; ;上升沿触发有效
MOVLW 0FH; ;D端口方向置位
MOVWF TRISD; ;
MOVLW 0FFH;
MOVWF TRISB; ;B端口方向置位
BCF STATUS,RP0; ;bank切换
MOVLW 00H;
MOVWF PORTD; ;端口清零初始化
NOP;
NOP;
MOVF PORTB,0; ;端口判断操作,放W寄存器,一般不这么写0
ANDLW 0FH; ;与操作
MOVWF VALUE;
XORLW 0FH;
BTFSC STATUS,Z;
GOTO NOKEY; ;就是看了下有没有按到,没有按到直接跳转
BSF STATUS,RP0;
MOVLW 0F0H; ;更换了I/O的输出输入状态
MOVWF TRISD;
MOVLW 0F0H;
MOVWF TRISB; ;更换了I/O的输出输入状态
BCF STATUS,RP0;
MOVF VALUE,0;
MOVWF PORTB;
NOP;
NOP;
MOVF PORTD,0;
ANDLW 0F0H;
IORWF VALUE,1;
RETURN;
NOKEY
MOVLW 0FFH;
MOVWF VALUE;
RETURN;
TRANSLATE ;按键的读取
MOVLW 40H ;40地址的间接寻址
MOVWF FSR
LOOPT1
MOVF 0,0 ;这么写很奇葩
XORWF VALUE, 0 ;寻址完后和VALUE值异或
BTFSC STATUS,Z ;判0,就是判断值是否等
GOTO LOOPT2
INCF FSR,1
BTFSS FSR,4
GOTO LOOPT1
MOVLW 0AAH
MOVWF FSR
RETURN
LOOPT2
BCF FSR,6
RETURNl
;这程序得有图纸才行,简单注释也没有什么意义。。。
BCF STATUS,RP1;
BSF STATUS,RP0; ;bank切换
BCF OPTION_REG,7; ;上升沿触发有效
MOVLW 0FH; ;D端口方向置位
MOVWF TRISD; ;
MOVLW 0FFH;
MOVWF TRISB; ;B端口方向置位
BCF STATUS,RP0; ;bank切换
MOVLW 00H;
MOVWF PORTD; ;端口清零初始化
NOP;
NOP;
MOVF PORTB,0; ;端口判断操作,放W寄存器,一般不这么写0
ANDLW 0FH; ;与操作
MOVWF VALUE;
XORLW 0FH;
BTFSC STATUS,Z;
GOTO NOKEY; ;就是看了下有没有按到,没有按到直接跳转
BSF STATUS,RP0;
MOVLW 0F0H; ;更换了I/O的输出输入状态
MOVWF TRISD;
MOVLW 0F0H;
MOVWF TRISB; ;更换了I/O的输出输入状态
BCF STATUS,RP0;
MOVF VALUE,0;
MOVWF PORTB;
NOP;
NOP;
MOVF PORTD,0;
ANDLW 0F0H;
IORWF VALUE,1;
RETURN;
NOKEY
MOVLW 0FFH;
MOVWF VALUE;
RETURN;
TRANSLATE ;按键的读取
MOVLW 40H ;40地址的间接寻址
MOVWF FSR
LOOPT1
MOVF 0,0 ;这么写很奇葩
XORWF VALUE, 0 ;寻址完后和VALUE值异或
BTFSC STATUS,Z ;判0,就是判断值是否等
GOTO LOOPT2
INCF FSR,1
BTFSS FSR,4
GOTO LOOPT1
MOVLW 0AAH
MOVWF FSR
RETURN
LOOPT2
BCF FSR,6
RETURNl
;这程序得有图纸才行,简单注释也没有什么意义。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯