8位端口和16位端口
对256~65535的端口进行读写时,端口号放在dx中:mov dx,3f8h ;将端口号3f8h送入dx
in al,dx ;从3f8h端口读入一个字节
out dx,al ;向3f8h端口写入一个字节
为什么不是
对256~65535的端口进行读写时,端口号放在dx中:
mov dx,3f8h ;将端口号3f8h送入dx
in ax,dx ;从3f8h端口读入一个字节
out dx,ax ;向3f8h端口写入一个字节
课本上写的不是访问16位端口的时候用ax么,为什么课本上是al 对,访问16位端口用ax,用al说明访问的是8位的端口
举个例子
端口号0x30是一个8位的端口,那么
in al, 0x30
out 0x30, al
端口号0x40是一个16位的端口,那么
in ax, 0x40
out 0x40, ax
端口号0x7f0是一个8位的端口,那么
mov dx, 0x7f0
in al, dx
out dx, al
端口号0x8f0是一个16位的端口,那么
mov dx, 0x8f0
in ax, dx
out dx, ax
那3f8h是多少位的端口? 课本上对于3f8h号端口的访问用的是al
xiaogu4117 发表于 2020-2-7 09:01
课本上对于3f8h号端口的访问用的是al
说明是8位的端口
明白了,我以为3f8h是16位的端口。。才发现它是3f8h号而不是位。。谢谢了
页:
[1]