⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zr.asm

📁 c程序各种经典算法
💻 ASM
字号:
ioport		equ 0d400h-0280h
PORT0   EQU     ioport+2B0H          ;8279 DATA PORT
PORT1   EQU     ioport+2B1H          ;8279 CTRL PORT 

DATA            SEGMENT
LEDMOD  EQU     10H     ;右端输入 八位字符显示
                        ;外部译码键扫描方式,双键互锁
LEDFEQ  EQU     38H     ;扫描速率
LEDCLS  EQU     0D1H    ;清除
LEDWR0  EQU     80H     ;设定的将要写入的显示
LED      DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39h,5EH,79h,71h 
MESG    DB        'Input a number (0--F),space key is exit:'     
 DATA            ENDS

CODE    SEGMENT
ASSUME  CS:CODE,DS:DATA
START: 
        MOV     AX,DATA
        MOV     DS,AX

        MOV    DX ,PORT1
        MOV    AL,LEDMOD        ;置8279工作方式
        OUT   DX,AL

        MOV    AL,LEDFEQ        ;置键盘扫描速率
        OUT    DX,AL

        MOV    AL,LEDCLS        ;清除 LED 显示
        OUT    DX,AL
       
            
        MOV    DX,PORT1
        MOV    AL,90H
        OUT    DX,AL

        MOV    DX,PORT0
        MOV    AL,40H
        OUT    DX,AL

        MOV    AL,0H
        OUT    DX,AL
        
        MOV    AL,0EFH
        OUT    DX,AL

        MOV    AL,27H
        OUT    DX,AL

        MOV    AL,5BH
        OUT    DX,AL

        MOV    AL,7FH
        OUT    DX,AL


A:      MOV   DX,OFFSET MESG   ;显示提示信息

        MOV   AH,09H
	INT  21H

	MOV  AH,01H              ;从键盘接收字符
	INT  21H
CMP AL,‘ ’
JE EXIT

        CMP  AL,3AH
        JL  B   
        ADC  DL,7H

B:	SUB  AL,30H             ;将所得字符的ASCII码减30H
	MOV  BX,OFFSET LED      ;bx为数码表的起始地址
	XLAT                   ;求出相应的段码
	MOV  DX,PORT0            ;从8279的数据口输出
	OUT DX,AL
	JMP A                ;转A
EXIT:MOV AH,4CH
INT 21H
        CODE ENDS 
	END START




               
               

⌨️ 快捷键说明

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