> 文章列表 > IN OUT指令

IN OUT指令

IN   OUT指令

端口是主机与外设进行数据交换的。(外设接口电路有专用于数据交互的寄存器。为了与CPU中的寄存器相区别,称之为“端口”)。端口有数据端口状态端口控制端口 3种。

PC机给予每一个端口分配了一个地址(称为端
口号),形成一个独立于内存空间的I/O地址空
间。在8086/8088中,端口地址的范围是0000
~FFFF。
CPU对外设的操作通过专门的端口读写指令来
完成。读端口用IN指令,写端口用OUT指令。
————————————————————————————————————————

IN AC,PORT;
从端口PORT读取数据到AC;

PORT可以是立即数,也可以是DX。
AC为AL时,从PORT读取1字节数据到AL
AC为AX时,从PORT读取2字节数据到AX

OUT PORT,AC;
将AC的数据写入端口PORT;

例子:IN AL,21H;表示从21H端口读取一字节数据到AL
IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH
MOV DX,379H
IN AL,DX ;
从端口379H读取1字节到AL
OUT 21H,AL;将AL的值写入21H端口
OUT 21H,AX;将AX的值写入端口地址21H开始的连续两个字节。(port[21H]=AL,port[22h]=AH)
MOV DX,378H
OUT DX,AX ;将AH和AL分别写入端口379H和378H————————————————————今天累死了。。。。啊啊啊啊啊啊。借口一大堆。我老是做事情3分钟热度。这样可不行啊。我一定要坚持。
以前在网上看到过一句话:时间就像是乳沟,挤一挤,还是有的。
坚持下去。ASM其实很简单的。不要老是这个借口那个借口蹦出来。那样是永远也学不会的。。。。

参考文献:
ddd

eee
aaa
bbb
ccc
fff
ggg
hhh
iii
111
222
333
444