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

做的好的办公家具网站seo咨询推广找推推蛙

做的好的办公家具网站,seo咨询推广找推推蛙,手机 网站制作,网站页面怎么做地图根据前面关于aarch64架构下的编码解释可知,在src\hotspot\cpu\架构文件夹下, assembler_xx.hpp assembler_xx.cpp register_xx.hpp register_xx.cpp register_definitions_xx.cpp这些文件是有关寄存器定义以及汇编编码函数实现的文件。 对于前述的ope…

根据前面关于aarch64架构下的编码解释可知,在src\hotspot\cpu\架构文件夹下,

assembler_xx.hpp 
assembler_xx.cpp
register_xx.hpp
register_xx.cpp
register_definitions_xx.cpp

这些文件是有关寄存器定义以及汇编编码函数实现的文件。

对于前述的openjdk底层汇编指令调用,我们只涉及了单纯寄存器调用,对于计算机而言,还有一种调用方式是寄存器和内存之间的互相访问。即,数据从内存到寄存器,或者寄存器到内存

在这里插入图片描述

x86的访存模型

这里不再使用aarch64讲述访存,因为该方式下的访存模型比较复杂,有兴趣的朋友可以访问我以前有关AArch64指令的翻译 AArch64教程_阿达King哥的博客-CSDN博客 。

相比而言,x86的访存理解起来简单得多。回到x86架构下的内存访问方式,

在这里插入图片描述

下面以具体的例子说明上述表格的内容

假设rbp寄存器内保存的值是内存中的某个地址,且x86指令采用AT&T格式,即

opcode src, dst

opcode为操作码,src为源,dst为目的

movl %rdi, (%rbp)  //将rdi寄存器中的值放入rbp寄存器所值的内存地址中

这里的括号表示访问的是内存,而不是寄存器本身。当然,可以直接把括号内的名称直接换成内存地址

movl %rdi, (0x55)

可以加上偏移

movl	%rdi, -4(%rbp)   // 寄存器 -> 内存
movl	-8(%rbp), %rsi   // 内存 <- 寄存器

这里表示将rdi寄存器中的值放入指定的内存地址中,该地址为(rbp内的值减去4)

除此之外,还有一种方式为

mov %rax, (%rbx,%rcx)  //R[rax] -> M(R[rbx] + R[rcx])

上述指令的意思是将rax的值放入指定内存地址中,该地址是M(R[rbx] + R[rcx])

也可以结合偏移

mov %rax, -4(%rbx,%rcx)  //R[rax] -> M(R[rbx] + R[rcx]-4)

最后一种方式是乘以系数的方式

mov %rax, (%rbx,%rcx,8)  //R[rax] -> M(R[rbx] + R[rcx]*8 )
mov %rax, -4(%rbx,%rcx,8)  //R[rax] -> M(R[rbx] + R[rcx]*8 -4)

可以发现如果以最后一条指令说明,我们可以将访存格式的各个部分进行如下定义

mov Ra, Imm(Rb,Ri,S)

其中,Rb部分被称为基地址(base),Ri部分被称为变址或索引(index), S部分被称为比例因子(scale),其中比例因子被强制规定只可使用1,2,4,8

hotspot的x86访存模型

结合上述指令特点,在x86文件夹的assembler_x86.hpp文件中定义了Address类,该类用于物理内存访问时调用。

在这里插入图片描述

对照原始的汇编指令,我们可以看出Address类的各个属性都对应着操作数中的相应部分。以下面的例子说明

mov %eax, -4(%ebx,%ecx,8)
Address类属性汇编
_baserbx
_indexrcx
_scale8
_disp-4

hotspot访存指令编码

assembler_x86.hpp中定义上述指令

void movl(Address dst, Register src);

该函数的实现如下

void Assembler::movl(Register dst, Address src) {InstructionMark im(this);prefix(src, dst);emit_int8((unsigned char)0x8B);emit_operand(dst, src);
}

实现中将参数进行x86编码 并发送到内存。


文章转载自:

http://Kj9VDyaZ.cjjfm.cn
http://g1vqtQ1a.cjjfm.cn
http://i34NzBBh.cjjfm.cn
http://cvGoWep3.cjjfm.cn
http://M66A8n0f.cjjfm.cn
http://Se1y8nHE.cjjfm.cn
http://6jmqo33y.cjjfm.cn
http://wai6OBui.cjjfm.cn
http://HsAZbFAZ.cjjfm.cn
http://F2dflJL4.cjjfm.cn
http://CIBnrfMq.cjjfm.cn
http://JP2PGDE8.cjjfm.cn
http://WiTp7Fyj.cjjfm.cn
http://TAm1CbO9.cjjfm.cn
http://1qykDD3D.cjjfm.cn
http://TJEOlam5.cjjfm.cn
http://U3kGLMXQ.cjjfm.cn
http://1kSwtOka.cjjfm.cn
http://or8EBEUG.cjjfm.cn
http://SJCY42IG.cjjfm.cn
http://eLEL76Zx.cjjfm.cn
http://02aS6qTw.cjjfm.cn
http://ABjzy1aV.cjjfm.cn
http://v0aDNfKx.cjjfm.cn
http://B34E8kX9.cjjfm.cn
http://1AGKlG3e.cjjfm.cn
http://e4r8S6xK.cjjfm.cn
http://WQOJckm4.cjjfm.cn
http://3WMm36D4.cjjfm.cn
http://epJ8HBs3.cjjfm.cn
http://www.dtcms.com/wzjs/617929.html

相关文章:

  • 网站建设外包排名东莞比较好的设计公司
  • 网站建设课程有哪些收获中国排名第一的策划公司
  • 效果型网站建设安徽省建设监理网站
  • 基于html5的电商网站开发网站建设的简要任务执行书
  • 北京做养生SPA的网站建设制作企业宣传片拍摄公司
  • 自己的网站打不开了北京通网站建设
  • 郑州网站建设企业推荐怎么做电商运营
  • 上海网站开发定制wordpress标签分级
  • 网站编辑适不适合男生做wordpress 阌栾
  • 手机网站和电脑网站开发wordpress seo
  • 红安建设局官方网站河南小学网站建设
  • 临沂做网站wyjzgzs设计logo怎么设计
  • 企业为什么要建站点呢广州做网站公司电话
  • 商城网站大全做网站改版的
  • 沈阳市建设局网站首页嘉兴网络项目建站公司
  • 免费软件不收费网站WordPress相册插件pro
  • 网站建立策划书郑州设计logo公司
  • 6731官方网站下载it培训学校哪家好
  • 如何做学校的网站设计项目三的设计与制作
  • html5网站开发语言的有点亚马逊电商平台入口
  • 制作外贸网站的公司wordpress能放视频
  • iis网站批量导入如何去掉wordpress版权信息
  • 沈阳酒店企业网站制作温州网站排名团队
  • 沧州网站建设代理价格网站前端建设都需要什么
  • 站长素材网wordpress动态新闻代码
  • 建设银行个人网站打不开自己注册域名
  • 企业站网站公司免费网站
  • 义乌购网站做代销怎么样网盟推广平台
  • 上海网站推广有哪些用安卓手机做网站主机
  • 郑州高新区建设环保局网站wordpress p3