第十四章 端口
1、CPU可以直接读写3 个地方的数据:CPU 内部的寄存器;内存单元;端口。
2、对端口的读写不能用mov、push、pop等内存读写指令。端口的读写指令只有两条:in和out,分别用于从端口读取数据和往端口写入数据。
3、端口读取指令"in al,60h",表示从端口中读入一个字节数据到al中,端口地址为60h,执行时与总线相关的操作:
a、CPU通过地址线将端口地址信息60h发出;
b、CPU通过控制线发出端口读命令,选中端口所在的芯片,并通知它,将要从中读取数据;
c、端口所在的芯片将60h端口中的数据通过数据线送入CPU。
端口写入指令"out 60h,al",表示将al中的字节数据写入端口,端口地址为60h,执行时与总线相关的操作:
a、CPU通过地址线将端口地址信息60h发出;
b、CPU通过控制线发出端口写命令,选中端口所在的芯片,并通知它,将要向该端口写入数据;
c、CPU通过数据总线将al中的数据写入60h号端口。
4、在in和out 指令中,只能使用ax或al来存放从端口中读入的数据或要发送到端口中的数据。访问8位端口时用al,访问16位端口时用ax。
a、对0~255以内的端口进行读写:
a1、in al,20h;从20h端口读入一个字节
a2、out 20h,al ;往20h端口写入一个字节
b、对256~65535的端口进行读写时,端口号放在dx中: