最近在看《操作系统真相还原》, 书里说到:
举个例子, 比如in指令可以读取16位端口数据, 即一次读取2字节, 假设端口0x234是16位端口
in ax, 0x234 相当于
in al, 0x234
in ah, 0x235
我的疑惑是, 0x234本身就是16位端口了, 为什么in ah要从0x235读取呢? 而不是继续读0x234端口呢?
我自己理解的不清楚,还希望大神解惑!!! 感激不尽?
最近在看《操作系统真相还原》, 书里说到:
举个例子, 比如in指令可以读取16位端口数据, 即一次读取2字节, 假设端口0x234是16位端口
in ax, 0x234 相当于
in al, 0x234
in ah, 0x235
我的疑惑是, 0x234本身就是16位端口了, 为什么in ah要从0x235读取呢? 而不是继续读0x234端口呢?
我自己理解的不清楚,还希望大神解惑!!! 感激不尽?
ah、al 分别是 ax的高低8位
0x234 类似 c 里的指针,只表示起始地址,结束地址根据不同指令而定。