eggqq007 发表于 2010-02-21 13:58

Intel 的 ModRM表问题

看了一下Intel CPU 的编码方式,但是有一个不太明白,有两个ModRM表,一个是16位的,另一个是32位的,

      那在什么时候用16位的表解析,什么时候用32位的ModRM表解析呢????

eggqq007 发表于 2010-02-21 14:56

在线跪求~~~~~~~

eggqq007 发表于 2010-02-21 14:59

在线跪求~~~~~~~

qtdszws 发表于 2010-02-24 16:54

16位自然是在16位模式下使用的,32位....

16位模式典型的情况就是实地址模式
32位模式典型的情况就是保护模式

当然也存在16位模式和32位模式混编的情况

例如
# echo 'movw $1,(%bx,%si);movl $1,(%ebx,%esi)'|as
# objdump -d a.out                              

a.out:   file format elf32-i386

Disassembly of section .text:

00000000 <.text>:
   0:   67 66 c7 00 01 00       addr16 movw $0x1,(%bx,%si)
   6:   c7 04 33 01 00 00 00    movl   $0x1,(%ebx,%esi,1)

eggqq007 发表于 2010-02-25 11:39

嗯。。谢谢。。。我已经搞明白了~~~
页: [1]
查看完整版本: Intel 的 ModRM表问题