t8.asm

来自「汇编代码 是ASM的代码」· 汇编 代码 · 共 64 行

ASM
64
字号
NAME T8                        ;8279实验
CSEG AT 0000H
	     LJMP START
CSEG AT 4100H
START:  MOV DPTR,#0CFE9H     ;8279命令字
	     MOV A,#0D1H           ;清除
	     MOVX @DPTR,A
WAIT:   MOVX A,@DPTR
	     NOP
	     NOP
	     JB ACC.7,WAIT          ;等待清除完毕
	     NOP
	     NOP
	     MOV A,#2AH            ;十分频
	     MOVX @DPTR,A
	     MOV A,#00H             ;8位显示、编码扫描
	     MOVX @DPTR ,A
LOOP1:  MOVX A,@DPTR
	     ANL A,#0FH
	     JZ LOOP1               ;有键按下?
	     NOP
	     NOP
	     MOV A,#0A0H           ;显示\消隐命令
	     MOVX @DPTR,A
	     MOV R3,#8
	     MOV R4,#40H
	     MOVX @DPTR,A
	     MOV DPTR,#0CFE9H     ;读FIFO命令
	     MOV A,#40H
	     MOVX @DPTR,A
	     MOV DPTR,#0CFE8H     ;读键值
	     MOVX A,@DPTR
	     ANL A,#3FH
	     MOV R2,A
	     ANL A,#7H
	     MOV R1,A
	     MOV DPTR,#0CFE9H     ;写显示RAM命令
	     MOV A,#85H
	     MOVX @DPTR,A
         MOV A,R1
	     MOV DPTR,#TAB
	     MOVC A,@A+DPTR     ;取段码
	     MOV DPTR,#0CFE8H    ;写显示RAM
	     MOVX @DPTR,A
	     MOVX A,@DPTR
	     MOV DPTR,#0CFE9H    ;写显示RAM命令
         MOV A,#84H
	     MOVX @DPTR,A
	     MOV A,R2
	     RR A
	     RR A
	     RR A
	     ANL A,#7H
	     MOV DPTR,#TAB
	     MOVC A,@A+DPTR
	     MOV DPTR,#0CFE8H     ;写显示RAM
	     MOVX @DPTR,A
	     MOV DPTR,#0CFE9H
	     MOV A,#00H
	     MOVX @DPTR,A
	     SJMP LOOP1
TAB:     DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?