首页 > 技术文章 > 前缀指令

lnterpreter 2020-11-19 10:36 原文

一、指令编码(硬编码)的结构

二、前缀指令是分组的:

1、 LOCK 和 REPEAT 前缀指令
      LOCK            F0      //如果再汇编指令中加上 LOCK ,当前这个地址,在多个CPU执行的时,某个时刻只能有一个CPU能读这个地址
      REPNE/REPNZ     F2      //重复执行后面的某个指令,
      REP/REPZ        F3 
段前缀指令:
      CS(2E)
      SS(36)      //寻址中出现 ESP ,EBP 时,默认使用SS段
      DS(3E)      //读写内存涉及到内存地址,默认使用DS段
      ES(26)
      FS(64)
      GS(65)
操作数宽度前缀指令:
66      //修改默认CPU模式,原来是32位,加上66就是16位,反之也一样

55      PUSH EBP

66:55   PUSH BP   

地址宽度前缀指令:

67 //修改寻址方式,原本是32位寻址,加上67就是16位寻址,反之亦然

三、前缀指令最多占4个字节,最少占0个字节,每组前缀指令最多出现一个

推荐阅读