Window 控制硬件时借助的是输入输出指令。其中具有代表性的两个输入输出指令就是IN 和 OUT。这些指令也是汇编语言的助记符
IN 指令和 OUT 指令的语法如图 11-2 所示。这是 Pentium 等x86系列 CPU用的IN指令和 OUT 指令的语法。IN 指令通过指定端口号的端口输人数据,并将其存储在 CPU 内部的寄存器中。OUT 指令则是把CPU 寄存器中存储的数据,输出到指定端口号的端口。
下面让我们来看一下端口号和端口到底是什么。计算机主机中.附带了用来连接显示器及键盘等外围设备的连接器。而各连接器的内部,都连接有用来交换计算机主机同外围设备之间电流特性的 IC。这些IC,统称为 I/O 控制器。由于电压不同,数字信号及模拟信号的电流特性也不同,计算机主机和外围设备是无法直接连接的。为了解决这个问题,I/O 控制器就很有必要了。
I/O 是 Input/Output 的缩写。显示器、键盘等外围设备都有各自专用的 IO 控制器。I/O 控制器中有用于临时保存输入输出数据的内存这个内存就是端口。端口(port)的字面意思是“港口”。由于端口就像是在计算机主机和外围设备之间进行货物(数据)装卸的港口,所以因此得名。I/O 控制器内部的内存,也称为寄存器。虽然都是寄存器,但它和 CPU 内部的寄存器在功能上是不同的。CPU 内部的寄存器是用来进行数据运算处理的,而 I/O 寄存器则主要是用来临时存储数据的。
在实现 I/O 控制器功能的IC 中,会有多个端口。由于计算机中连接着很多外围设备,所以就会有多个 IO 控制器,当然也会有多个端口。一个 I/O 控制器既可以控制一个外围设备,也可以控制多个外围设备。各端口之间通过端口号进行区分。端口号也称为 I/O 地址IN 指令和 OUT 指令在端口号指定的端口和 CPU之间进行数据的输入输出。这和通过内存地址来进行主内存的读写是一样的道理(图11-3 )。
通过 Windows 的控制面板,我们可以查看外围设备所连接的 I/O控制器的端口号。图 11-4 是通过 Windows 控制面板来查看软盘驱动控制器的属性时的情况“。“I/O 的范围”右侧的数值就是端口号。通过指定该端口号,并利用IN/OUT 命令,就可以直接控制软驱这个硬件设备,实现输入输出处理了。
标签:控制器,端口,11.2,指令,外围设备,端口号,OUT From: https://www.cnblogs.com/z1218/p/17099804.html