如何在MS-DOS x86汇编语言中检测16550 UART芯片?

问题描述

我正在尝试找出如何在MS-DOS程序集中编写代码以检测是否已安装16550 UART芯片(串行控制器),或者是否存在检测UART芯片模型的通用方法

到目前为止,我已经检查了以下资源:

  • 高级MS-DOS编程第二版
  • 编写MS-DOS设备 司机
  • 拉尔夫·布朗的中断列表(尽管可能在这里,我曾尝试在它的序列号和16550中进行搜索,但未找到它)
  • 已经通过DosBox代码搜索了线索,因为我知道它已经实现了这一点,但是找不到位置
  • https://wiki.osdev.org/Serial_Ports

一直无法找到MS-DOS的16550编程手册的副本。 我没有问题初始化串口,向其发送/接收数据,挑战在于如何检测特定芯片或至少确认芯片是否为16550型号。

解决方法

虽然不在汇编程序中,但可以将其转换为汇编程序。来自http://www.sci.muni.cz/docs/pc/serport.txt

的C语言
const [count,setCount] = useState(0);

return(
    <div className='container_new'>
        <h1>Counter</h1>
        <span id='value'>{count}</span>
        <div>
            <button className="btn decrease"  onClick={handleDecrement} >decrease</button>
            <button className="btn reset" style={{color: (count === 0 ? 'black': 'green')}} 
                        onClick={() => setCount(0)}>reset</button>
            <button className="btn increase" onClick={() => handleIncrement()}>increase</button>
        </div>
    </div>