1、指令编码(硬编码)的结构
怎么判断是不是前缀指令呢?
前缀指令就几个,很好确定,根据指令的内容来确定
2、前缀指令是分组的:
前缀指令最多是4个,每组一个
<1>LOCK 和REPEAT前缀指令:
LOCK F0 //锁地址总线的 在同一时刻只能有一个核的CPU来读取那条指令,这个指令在多核下才有意义
REPNE/REPNZ F2 //重复执行 当zf是0的时候执行
REP/REPZ F3 //重复执行 当zf是1的时候执行
<2>段前缀指令:
CS(2E)、SS(36)、DS(3E)、ES(26)、FS(64)、GS(65) //存在的意义是可以改变寻址时候的段寄存器
<3>操作数宽度前缀指令: //操作数的宽度默认是32位,加上66,操作数的宽度就编程了16位
66 //操作数的宽度默认是16位,加上66,操作数的宽度就编程了32位
<4>地址宽度前缀指令: //改变寻址方式的 ,这个前缀指令也是双向的
67
3、前缀指令最多占4个字节,最少占0个字节
每组最多一个,可以组合使用,没有顺序问题