PC机的端口地址用16位二进制数表示,端口输入输出的数据都是8位的,在I/O指令中,端口号小于等于255时可以用8位立即数来指定端口号,超出8位(大于等于256)的端口号用dx指定,例如:
out 20H, al
out dx, al
此外,还有这样的指令:
out 20H, ax
这表示连续输出两个字节,al输出到20H端口,ah输出到21H端口;同样也可以用dx指定端口号,输出到dx和dx+1两个端口。因为外设经常使用连续的两个端口,前一个作为控制端口,后一个作为数据端口,一次操作通常需要先向控制端口输出控制字,然后向数据端口输出数据,所以才设计了这样的指令。这种时候可以把连续的两个端口看作一个16位端口(实际是有先后次序的)。