11.2支撑硬件输入输出的IN指令和OUT指令
Windows控制硬件时借助的是输入输出指令。其中具有代表性的两个输入输出指令就是IN和OUT。这些指令也是汇编语言的助记符。
IN指令和OUT指令的语法如图11-2所示。这是Pentium等x86系列CPU用的IN指令的语法。IN指令通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中。OUT指令则是把CPU寄存器中存储的数据,输出到端口号的端口。
计算机中,附带了用来连接显示器及键盘等外围设备的连接器。而各连接器的内部,都链接有用来交换计算机主机同外围设备之间电流特性的IC。这些IC,统称为I/O控制器。
在实现I/O控制器功能的IC中,会有多个端口。由于计算机中连接着很多外围设备,所以就会有很多个I/O控制器,当然也会有多个端口。一个I/O 控制器既可以控制一个外围设备,也可以控制多个外围设备。各端口之间通过端口号进行区分。端口号也称为1/0 地址。IN 指令和 OUT指令在端口号指定的端口和 CPU之间进行数据的输入输出。这和通过内存地址来进行主内存的读写是一样的道理(图11-3)。