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

📄 shi3.asm

📁 微机原理实验 包括 口令识别 数制转换 计算三角函数 贪食蛇 扬声器控制
💻 ASM
字号:

DATA  SEGMENT 
	MSG1  DB 'Input: ','$'
	MSG2  DB ' Received: ','$'
DATA  ENDS

STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS

CODE SEGMENT
  ASSUME CS:CODE,DS:DATA,SS:STACK
START:
      MOV   AX,DATA
      MOV   DS,AX
      CALL  INIT                     ;主串口初始化
TR:
      MOV   DX,3FDH
      IN    AL,DX
      TEST  AL,20H                     ;测试;D5位是否为1(发送保持寄存器是否为空)
      JZ    TR                         
      MOV   AH,0
      INT   16H                        ;键盘输入
      CMP   AL,1BH                     ;判断是否是ESC键
      JE    EXIT                       ;退出

      PUSH  AX                         
      MOV   DX,OFFSET MSG1             ;显示MSG1
      MOV   AH,9
      INT   21H
      POP   AX                         
      MOV   AH,2
      MOV   DL,AL
      INT   21H                        ;显示输入的字符
      MOV   DX,3F8H
      OUT   DX,AL                      ;发送数据
RE:
      MOV   DX,3FDH
      IN    AL,DX
      TEST  AL,01H                     ;D0位是否为1(一帧数据收完否)
      JZ  RE
      MOV   DX,3F8H
      IN    AL,DX                      ;读数据寄存器
      AND   AL,7FH

      PUSH  AX
      MOV   DX,OFFSET MSG2             ;显示MSG2
      MOV   AH,9
      INT   21H
      POP   AX
      MOV   AH,2
      MOV   DL,AL
      INT   21H                        ;显示接收到的字符
      MOV   DL,0DH
      INT   21H                        ;回车不换行
      JMP   TR

INIT PROC                             ;主串口初始化子程序
      MOV DX, 3FBH
      MOV AL, 80H 			;访问除数寄存器
      OUT DX, AL
      MOV DX, 3F8H
      MOV AX, 000CH
      OUT DX, AL 			;除数的低8位写入3F8H
      INC DX
      MOV AL, AH
      OUT DX, AL			;除数的高8位写入3F9H

      MOV   AL,0BH			;00001011
      MOV   DX,3FBH
      OUT   DX,AL                      ;8位数据位,1位停止位,奇校验

      MOV   DX,3F9H
      MOV   AL,0		       
      OUT   DX,AL                      ;禁止8250内部中断
      MOV   AL,13H		       ;8250内环收发方式,禁止中断
      MOV   DX,3FCH
      OUT   DX,AL                      
      RET
INIT ENDP

EXIT:
      MOV   AH,4CH                     ;退出程序
      INT   21H
CODE  ENDS
      END   START

⌨️ 快捷键说明

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