Chinaunix

标题: intel 指令求解 [打印本页]

作者: keymirage    时间: 2015-09-03 10:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: keymirage    时间: 2015-09-03 10:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: ictxiangxin    时间: 2015-09-07 10:44
acc是累加器,指的通常是rax eax ax al寄存器。
imm是立即数,data就是立即数在机器码中的表示。
seg是段寄存器,sss是机器码中用3位二进制标示用哪个段寄存器。

作者: keymirage    时间: 2015-09-09 10:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: superwujc    时间: 2015-09-09 10:23
回复 4# keymirage

mod is short for modulo

mod是modulo的缩写,表示取模运算(modulo operation)

取模的概念请百度google之
   
作者: hanxin83    时间: 2015-09-09 10:36
本帖最后由 hanxin83 于 2015-09-09 13:29 编辑

鄙视楼上的, 题目都不看就来强行答题.....

mod reg r/m是机器编码格式中表示操作数的部分(后面可能还有个sib), 占用一个字节
编码格式:
前缀 Prefixes (optional)
指令 Opcode (first byte)        D        W       
指令Opcode 2 (occasional second byte)       
操作数 MOD        Reg        R/M
立即数 Displacement or data (occasional: 1, 2 or 4 bytes)

其中"操作数"中的mod(占两个bit)指明了是何种操作数(立即数, 寄存器到寄存器, 内存到寄存器, 扩展寻址格式字节SIB等等)
REG占三个bit, 指示一个寄存器.
R/M表示REG或者MEM, 是寄存器或者内存. 根据mod和REG后面有不同的格式.

再详细就不说了, 请参见Intel手册.

作者: keymirage    时间: 2015-09-09 11:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: keymirage    时间: 2015-09-09 11:07
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2