当前位置: 首页 > wzjs >正文

电子商务网站的主题及建设目标杭州软件公司排名

电子商务网站的主题及建设目标,杭州软件公司排名,装修公司名字 有创意,部门网站建设的目的和意义我们在前两节的硬编码中学习了定长指令,接下来学习变长指令 对于定长指令,我们通过opcode便可知该指令的长度,但是对于变长指令却是不可知的。变长指令长度由opcode,ModR/M,SIB共同决定。变长指令通常在需要操作内存的…

我们在前两节的硬编码中学习了定长指令,接下来学习变长指令

对于定长指令,我们通过opcode便可知该指令的长度,但是对于变长指令却是不可知的。变长指令长度由opcode,ModR/M,SIB共同决定。变长指令通常在需要操作内存的时候使用

经典变长指令

接下来我们观察一些常见的变长指令:

变长指令

汇编代码

0x88

MOV Eb, Gb

0x89

MOV Ev, Gv

0x8A

MOV Gb, Eb

0x8B

MOV Gv, Ev

G:通用寄存器

E:寄存器/内存

b:字节

v:字、双字或四字,通常由当前CPU模式决定(此处使用x86环境)

ModR/M

当指令中出现内存操作对象的时候,就需要在操作码(opcode)后面附加一个字节来进行补充说明,这个字节被称为ModR/M,其只有一个字节宽度,用于内存寻址

在本节讲解中,默认Reg/Opcode部分为Reg(寄存器),Opcode(指令)以后再说

其中,Reg部分描述指令中的G部分,即源寄存器,如下是该部分对应寄存器的表示:

images/download/attachments/1015817/image2021-11-1_21-43-22.png

Mod部分和R/M部分共同描述指令中的E部分,即目标寄存器/内存。

通过Intel操作手册中表Table 2-2便可知道ModR/M是如何使用的

images/download/attachments/1015817/image2021-11-1_21-53-38.png

手动解析指令

0x88 0x01

接下来以0x88 0x01为例,讲解如何解析变长指令

如下是0x88 0x01的解析部分:

Opcode

ModR/M

0x88 - MOV Eb, Gb

0x01

接着我们拆分ModR/M为其内部的三个部分:

Mod

Reg

R/M

0

0

0

0

0

0

0

1

然后我们开始依照Intel操作手册,一步步的分析该指令

images/download/attachments/1015817/image2021-11-1_22-9-1.png

由手册可知:

Reg:000对应寄存器AL

Mod:00和R/M:001对应[ECX]

因此我们得出结论:0x88 0x01对应的汇编代码为MOV BYTE PTR DS:[ECX], AL

0x88 0x10

接下来我们简单的解析0x88 0x10

Opcode

ModR/M

0x88 - MOV Eb, Gb

0x10

接着我们拆分ModR/M为其内部的三个部分:

Mod

Reg

R/M

0

0

0

1

0

0

0

0

通过查表可知:

Reg:010对应DL

Mod:00和R/M:001对应[EAX]

因此我们得出结论:0x88 0x10对应的汇编代码为MOV BYTE PTR DS:[EAX], DL

0x88 0x15

接下来我们简单的解析0x88 0x15

Opcode

ModR/M

0x88 - MOV Eb, Gb

0x15

接着我们拆分ModR/M为其内部的三个部分:

Mod

Reg

R/M

0

0

0

1

0

1

0

1

通过查表可知:

Reg:010对应DL

Mod:00和R/M:101对应dis32(32位立即数)

dis32跟在0x88 0x10后,现假设dis32为0x12345678

因此我们得出结论:0x88 0x10 0x12345678对应的汇编代码为MOV BYTE PTR DS:[78563412], DL

0x88 0x82

接下来我们简单的解析0x88 0x82

Opcode

ModR/M

0x88 - MOV Eb, Gb

0x82

接着我们拆分ModR/M为其内部的三个部分:

Mod

Reg

R/M

1

0

0

0

0

0

1

0

通过查表可知:

Reg:000对应AL

Mod:10和R/M:010对应[EDX] + dis32

此处假设dis32为0x12345678

因此我们得出结论:0x88 0x10 0x12345678对应的汇编代码为MOV BYTE PTR DS:[EDX + 78563412], AL

0x89 0x01

接下来我们简单的解析0x89 0x01

Opcode

ModR/M

0x89 - MOV Ev, Gv

0x01

由于我们使用的是CPU的x86环境,因此v表示32位

接着我们拆分ModR/M为其内部的三个部分:

Mod

Reg

R/M

0

0

0

0

0

0

0

1

通过查表可知:

Reg:000对应EAX

Mod:00和R/M:001对应[ECX]

因此我们得出结论:0x88 0x10对应的汇编代码为MOV DWORD PTR DS:[ECX], EAX


文章转载自:

http://KgBuN7T8.gypcr.cn
http://Ew6BGnLc.gypcr.cn
http://fLkUoRK3.gypcr.cn
http://YVzYuQ0g.gypcr.cn
http://PGxiM8Yx.gypcr.cn
http://ECHA4fEO.gypcr.cn
http://sNVUc5bZ.gypcr.cn
http://gkkOpmBt.gypcr.cn
http://Z6DPPs9J.gypcr.cn
http://BQjn3Y8G.gypcr.cn
http://dpStBxdx.gypcr.cn
http://97Grt5NA.gypcr.cn
http://QYZDDzOO.gypcr.cn
http://km4uNt5h.gypcr.cn
http://BVrKt7mJ.gypcr.cn
http://YAExLpDg.gypcr.cn
http://XgaZSWUm.gypcr.cn
http://CvqtukUV.gypcr.cn
http://X5jWV0qC.gypcr.cn
http://M5sTcuOw.gypcr.cn
http://pb74XSUM.gypcr.cn
http://fMobIvHn.gypcr.cn
http://MnvMuvH4.gypcr.cn
http://XilcyyA4.gypcr.cn
http://R0FKHeyu.gypcr.cn
http://y12K84YY.gypcr.cn
http://Drgz0yL3.gypcr.cn
http://YcwPMThW.gypcr.cn
http://7Vi0xG49.gypcr.cn
http://e3BEugTt.gypcr.cn
http://www.dtcms.com/wzjs/642400.html

相关文章:

  • 设计企业网站哪家好做服装店网站的素材
  • 可以做音乐mv视频网站wordpress文章页图片模式
  • 公司建设网站价格淘宝客用wordpress好吗
  • 公司网站可以自己做么京津冀协同发展调研报告
  • 自己建设的网站有管理后台的登录台州网站快速优化排名
  • 专注做蔬菜的网站房子设计图片
  • 网站开发工程师职业定位厦门 微网站建设公司
  • wordpress外贸建站公司岚山网站建设公司
  • 莱芜网站建设方案公司工装装修公司排名
  • wordpress 停站看网站用什么软件
  • 毕业设计如何用dw做网站百度搜索 相关网站
  • 杭州四喜做网站建设么找国外人做网站
  • 网站站外推广方法网页设计与制作黑马程序员
  • wordpress建两个网站吗昆明建个网站哪家便宜
  • 有域名的话怎么做网站wordpress中logo大小
  • 做网站每天更新两篇文章怎么把自己的网站推广出去
  • 做网站的哪里好学校网站首页设计图片
  • 做除尘环保的如何推广自己的网站蓝色高科技网站模板
  • 南宁网站建设策划外包广州黄埔区做网站培训机构
  • 通道县城市建设投资有限公司网站北京网站建设推荐q479185700上快
  • 门户网站建设厂商名录怎样用自己的pid做搜索网站
  • 为什么要给大夫做网站闵行区教育局官网
  • 首饰设计网站推荐苏州网站建设需要多少钱
  • 免费做问卷的网站中国十大流量网站
  • 什么是网络营销网络营销与电商营销有什么区别营口网站seo
  • 缔客网络上海响应式网站建设中国设计师联盟网站
  • 搜房网网站跳出率网站虚拟主机有什么用
  • 怎么才能注册做网站个人网站也要备案吗
  • 学生作业网站阿里云怎么做网站
  • 最专业的佛山网站建设价格手机界面设计