Intel x86平台工程师进!!!!
我想问I386地址对齐问题。例如一条指令MOV EAX,(0001H)
这里用了直接寻址方法(ARM中好想没有这种寻址法,而是用伪指令LDR R0,=ADDR)这条指令就是说访问内存中从0001(16进制)开始的四字节,之所以为四字节因为是EAX,I386也是32位处理器,一次也是访问4字节倍数的地址,所以MOV要取内存中0001,0002,0003,0004,而000004属于下一个四字节,(0000-0003为4字节;0004-0007为下一四字节)这样一条指令难道执行时要寻址两次还是出错呢??很费解。麻烦给点解答
还有一个问题,保护模式下,对IO空间的地址访问。I386分IO空间与内存空间,如果把IO设备放在了内存空间就可以通过影射使用虚拟地址访问,但是如果不使用IO内存映射,直接把设备放在IO空间那么我们只能用IN,OUT指令访问,但是为什么保护模式下IN,OUT对IO空间的访问使用的是物理地址,是不是I386所谓保护模式只是针对内存空间》???