{ codeImgUrl : '', // >= v1.1.5 左侧图片设置,不配置使用 window.cnblogsConfig.blogAvatar aboutHtml : '', // 关于博主,不配置使用默认 copyrightHtml: '', // 版权声明,不配置使用默认 supportHtml : '', // 声援博主,不配置使用默认 }

经典变长指令-RegOpcode

一、回顾Mod/M结构

Intel 64 and IA-32 Architectures Instruction Format
image
ModR/M结构图

  • Mod与R/M共同描述E的意义(内存或者通用寄存器)
  • Reg/Opcode描述了G的意义(通用寄存器)。但3-5个字段,并不仅仅用来标识寄存器,有些时候,用来标识Opcode

二、RegOpcode-举例说明

80 65
1、第一个字节为80 查Table-2表,得到对应结构-->Eb,Ib
image
2、第二个字节为ModR/M字段,拆分65-->0100 0001 Mod与R/M字段查Table2-2得到对应的结构-->[EBP]+disp8 (disp8偏移)
image
3、中间100字段查表TableA-6得到对应操作码-->AND
image
4、最终的指令格式-->AND byte ptr ds:[EBP+disp8],Ib
image

posted @ 2022-01-09 14:15  Mkd1R  阅读(95)  评论(0)    收藏  举报