Assembly 关于与汇编代码8086的串行通信

Assembly 关于与汇编代码8086的串行通信,assembly,x86,serial-port,tasm,Assembly,X86,Serial Port,Tasm,在使用INT 14H时,AX设置为600FH;在使用代码发送字符时,AH设置为80H。我正在使用DOSBOX SvnDaum运行Tasm。如何解决超时错误?下面是代码 .MODEL small .STACK 100h .data .code _start: mov ax,@data mov ds,ax mov ah, 0 ;Initialize opcode mov al, 11100011b ;Parameter data. mov dx, 0 ;C

在使用INT 14H时,AX设置为600FH;在使用代码发送字符时,AH设置为80H。我正在使用DOSBOX SvnDaum运行Tasm。如何解决超时错误?下面是代码

.MODEL small
.STACK 100h
.data
.code
_start:
mov ax,@data
mov ds,ax
mov ah, 0           ;Initialize opcode
mov al, 11100011b   ;Parameter data.
mov dx, 0           ;COM1: port.
int 14h
again:
   mov  dx, 0           ;Select COM1:
   mov  al, 'm'        ;Character to transmit
   mov  ah, 1           ;Transmit opcode
   int  14h
   jmp again   
mov ah,1
int 21h
END _start  

您不能通过在Windows中运行的16位DOS程序直接访问COM端口

以下是您的选择:

  • 使用一个COM代理

  • 在DOS操作系统下安装虚拟机并在其上运行程序


  • 错误出现在哪里?在“再次”循环中,使用int 14h。也不会向COM1发送任何消息…这意味着int14h无法访问您尝试使用的com端口。操作系统可能正在使用它。运行dos框的操作系统是什么?Windows 10@CharlieH