汇编语言-端口(port)

相当于计算机和硬件还有网络的传输交流的一个通道

硬件端口

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。

其中硬件领域的端口又称接口,如:并行端口、串行端口等。

网络端口

在网络奇数中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如Serial端口。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP中的端口,是逻辑意义上的端口。

软件端口

缓冲区

CPU可以直接读写的三个数据:

1.cpu内部的寄存器

2.内存单元

3.端口

端口的读写

在访问端口的时候,CPU通过端口地址来定位端口,因为端口所在的芯片和CPU通过总线相连。所以端口地址和内存地址一样,通过地址总线传送。

在PC中CPU最多可以定位64KB个不同端口,0~65535

对于端口的读写不能用mov、push、pop等内存读写指令,端口指令只有in和out,分别是用来读数据和写数据

访问内存

mov ax,ds:[8]

1 CPU通过地址线将地址信息8发出

2 CPU通过控制线发出内存读命令

3 存储器将8号单元中的数据通过数据线送入CPU

访问端口

in al,60h

从60号端口读入一个字节给al

操作流程:

  1. CPU通过地址线将地址信息60h发出

  2. CPU通过控制线发出端口°命令,选择端口所在芯片,通知它要读数据

  3. 端口所在芯片将60h端口中的数据通过数据线送入CPU

在in和out指令中只能用al或ax这样的8位16位寄存器