Linux下的汇编及Windows汇编最大的不同就是第一个操作数.docVIP

  • 2
  • 0
  • 约2.14万字
  • 约 19页
  • 2017-07-09 发布于湖北
  • 举报

Linux下的汇编及Windows汇编最大的不同就是第一个操作数.doc

Linux下的汇编与Windows汇编最大的不同就是第一个操作数是原操作数,第二个是目的操作数,而Windows下却是相反。 1、 基本操作指令 简单的操作数类型说明,一般有三种, (1)立即数操作数,也就是常数值。立即数的书写方式是“$”后面跟一个整数,比如$0x1F,这个会在后面的具体分析中见到很多。 (2)寄存器操作数,它表示某个寄存器的内容,用符号Ea来表示任意寄存器a,用引用R[Ea]来表示它的值,这是将寄存器集合看成一个数组R,用寄存器表示符作为索引。 (3)操作数是存储器引用,它会根据计算出来的地址(通常称为有效地址)访问某个存储器位置。用符号Mb[Addr]表示对存储在存储器中从地址Addr开始的b字节值的引用。通常可以省略下标b。 图1表示有多种不同的寻址模式,一个立即数偏移Imm,一个基址寄存器Eb,一个变址或索引寄存器Ei和一个伸缩因子s。有效地址被计算为Imm+R[Eb]+R[Ei]*s,对于这中寻址方式,我们可以在数组或者结构体中进行对元素进行访问时会用到。 操作数类型 格式 操作数值 名称 立即数 $Imm Imm 立即数寻址 寄存器 Ea R[Ea] 寄存器寻址 寄存器 Imm M[Imm] 绝对寻址 寄存器 (Ea) M[R[Ea]] 间接寻址 寄存器 Imm(Eb) M[Imm+R[Eb]] (基址+偏移量)寻址 寄存器

文档评论(0)

1亿VIP精品文档

相关文档