【发布时间】:2013-12-07 00:58:57
【问题描述】:
我正在尝试使用汇编语言通过 COM 端口发送数据。我在 Windows 上使用 DOSBOX 以允许运行 16 位应用程序。我也在使用 MASM 5.1。 Windows 显示我的第一个 COM 端口位于 03F8H。我使用 INT 14H 将 0 分配给 DX,没有发送任何内容,尝试将 03F8H 分配给 DX,但效果不佳。
MOV DX,0H
MOV AL,'1'
MOV AH,01H
INT 14H
MOV AH,4CH
INT 21H
将DOSBOX的串口设置为直接端口后,将所有行设置为0
【问题讨论】:
-
你能显示你的代码吗?您提到了端口
03F8H,但您会将其用于out指令。如果您使用int 14h,则不要使用端口地址。它需要一个端口号(0、1、2 或 3)。另外,您如何检查它是否有效?需要正确设置串行模式(波特率等)以及接收匹配的任何内容。 -
什么版本的 Windows ?
-
你是正确的configuration吗?
-
windows 7 MOV DX,0H MOV AL,'1' MOV AH,01H INT 14H
-
我会尝试将dosbox串口分配给真正的com并检查它是否可以工作
标签: assembly serial-port x86-16