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

📄 pccom1.asm

📁 此程序是微机与接口技术的课程设计源程序
💻 ASM
字号:
;FILENAME: PCCOM1.ASM
; 内容:微机串口通信内环自检
DATA	SEGMENT
TEXT  	DB	'THE QUICK BROWN FOX JUMPS OVER LAZY DOG', 0DH, 0AH
LLL    	EQU	 $-TEXT
ERROR 	DB	'COM2 BAD !', 0DH, 0AH, '$'
DATA  	ENDS
CODE  	SEGMENT
       	ASSUME	CS: CODE, DS: DATA
BEG:  	MOV	 AX, DATA
       	MOV	 DS, AX
       	CALL I8250                 	;辅串口初始化
AGAIN:	MOV  CX, LLL              	;电文长度→CX
      	MOV  BX, OFFSET TEXT
SCANT:	MOV  AH, 1
      	INT 16H
        JNZ  EXIT                    	;有键入,转退出
       	MOV  DX, 2FDH
       	IN  AL,DX
        TEST	AL,20H            	;发送保持寄存器空闲?
       	JZ 	SCANT                  	;否,转输入检查
    	MOV DX, 2F8H
      	MOV AL, [BX]           		;取数据
       	OUT  DX,AL                 	;发送一个数据
       	MOV  SI, 0
SCANR:	MOV  DX, 2FDH
       	IN 	AL, DX
      	TEST AL,1                	;接收数据准备好?
       	JNZ  RECEIVE           		;是,转接收数据
       	DEC  SI
       	JNZ  SCANR
       	JMP  DISPERR	           	;有故障,转显示错误
RECEIVE:       
MOV DX, 2F8H
       	IN  AL,DX               	;接收一个数据
       	MOV AH, 2
       	MOV DL, AL
	INT	 21H			;送屏幕显示
       	INC  BX
       	LOOP  SCANT             	;电文长度计数
       	JMP  AGAIN
DISPERR:        
MOV  AH, 9
       	MOV  DX, OFFSET ERROR
       	INT  21H                 	;显示出错信息
EXIT: 	MOV  AH, 4CH
       	INT  21H                 	;返回DOS
I8250 	PROC
       	MOV AX, 00C7H           	;波特率4800
       	MOV  DX,1                	;无校验,8位数
      	INT  14H
       	MOV DX, 2FCH
        MOV  AL, 00010000B
       	OUT  DX,AL              	;自检方式
       	RET
I8250	ENDP
CODE  	ENDS
       	END	 BEG

⌨️ 快捷键说明

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