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

wordpress 不显示发布时间seo建站教学

wordpress 不显示发布时间,seo建站教学,wordpress 管网,做网站应注意什么目录 一. x86汇遍语言基础(Intel格式) 二. AT&T格式汇编语言 三. 程序的机器级代码表示 (1)选择语句 (2)循环语句 (3)函数调用 1.函数调用命令 2.栈帧及其访问 3.栈帧的…

目录

一. x86汇遍语言基础(Intel格式)

二. AT&T格式汇编语言

三. 程序的机器级代码表示

(1)选择语句

(2)循环语句

(3)函数调用

1.函数调用命令

2.栈帧及其访问

3.栈帧的切换

4.函数传参和返回值

四. CISC和RISC


一. x86汇遍语言基础(Intel格式)

x86架构的CPU有哪些寄存器?

对于前面的通用寄存器,还可以指定使用16位或8位:

常用的x86汇编指令:

算术运算指令:

d和s的解释:destination:目的地(d目的操作数),source:来源地(s源操作数)。因为最终运算结果要送回d,所以目的操作数d不可以是常量。此外x86不允许两个操作数同时来自于主存。

除法的解释:32位的被除数除以32位的除数,在计算前会对被除数进行扩展,把被除数扩展到64位,低32位存入eax,高32位存入edx。

逻辑运算指令:

其他:

用于实现分支结构、循环结构的指令: cmp、test、 jmp、jxxx
用于实现函数调用的指令:push、pop、call、ret
用于实现数据转移的指令:mov

二. AT&T格式汇编语言

三. 程序的机器级代码表示

408考试要求:

只需关注x86汇编语言;若考察其他汇编语言题目会详细注释
题目给出某段简单程序的C语言、汇编语言、机器语言表示。能结合C语言看懂汇编语言的关键语句(看懂常见指令、选择结构、循环结构、函数调用)
汇编语言、机器语言一一对应,要能结合汇编语言分析机器语言指令的格式、寻址方式
不会考:将C语言人工翻译为汇编语言或机器语言

注: Intel x86处理器中程序计数器PC ( Program Counter)通常被称为IP( lnstruction Pointer)

(1)选择语句

jmp <地址>  #PC无条件转移至<地址>:
jmp 128  #<地址>可以用常数给出
jmp eax  #<地址>可以来自于寄存器
jmp [999]  #<地址>可以来自于主存

也可以用“标号”锚定位置,这样不用每次更改地址:

条件转移指令:

示例:

注意:写汇编语言代码时,一般会以函数名作为“标号”,标注该函数指令的起始地址。

扩展:cmp命令的底层原理,本质上是做减法运算。

(2)循环语句

用条件转移指令实现循环:

用loop指令实现循环(注意:循环计数器必须使用ECX寄存器):

(3)函数调用

1.函数调用命令

函数调用指令:call <函数名>
函数返回指令:ret
call指令的作用:①将IP(其实就是程序计数器PC)旧值压栈保存(保存在函数的栈帧顶部)
②设置IP新值,无条件转移至被调用函数的第一条指令
ret指令的作用:从函数的栈帧顶部找到IP旧值,将其出栈并恢复IP寄存器。

2.栈帧及其访问

函数的栈帧(Stack Frame):保存函数大括号内定义的局部变量、保存函数调用相关的信息。

下面的图示,栈顶在下,栈底在上,上面是高地址,下面是低地址。

访问栈帧数据有两种方法:(1)push和pop指令;(2)mov指令

标记栈帧范围:x86中有EBP、ESP寄存器。EBP是堆栈基指针,ESP是堆栈顶指针。EBP:指向当前栈帧的“底部,ESP:指向当前栈帧的“顶部”。对栈帧内数据的访问,都是基于ebp、esp进行的。

1.使用push和pop指令(eax寄存器里的初始值是211)

执行完上述指令后,栈内内容如下,eax内容变为666:

注意:x86系统中,默认以4字节为栈的操作单位。

2.mov指令

可以用mov指令,结合esp、 ebp指针访问栈帧数据
可以用减法/加法指令,即 sub/add修改栈顶指针esp的值。

3.栈帧的切换

在call add后,call会首先把IP(PC)的旧值压栈保存,然后设置IP(PC)新值,无条件转移至被调用函数的第一条指令。在被调用的函数体中,开头一般是这两条命令:

push ebp  # 保存上一层函数的栈帧基址(ebp旧值)
mov ebp,esp  # 设置当前函数的栈帧基址(ebp新值)

push ebp会把上一层函数的栈帧基址压入栈中,成为本层函数栈帧的底,同时esp向下移动;然后执行mov指令,把ebp也指向本层函数栈帧的底,到此一个新的函数栈帧形成,可以往里继续压入一些数据。以上两行代码可以用enter等价表示:

当函数返回时,切换栈帧的方式如下:

mov esp, ebp  # 让esp指向当前栈帧的底部
pop ebp  # 将esp所指元素出栈,写入寄存器ebp

mov指令可以把esp和ebp都指向栈帧的底,然后弹出栈中元素至ebp,这时ebp就可以恢复指向上一层函数栈的栈底,esp+,指向IP旧值,最后执行ret指令,从函数的栈帧顶部找到IP旧值,将其出栈并恢复IP寄存器。上面两行可以用leave等价表示:

4.函数传参和返回值

栈帧里包含的内容:gcc编译器将每个栈帧大小设置为16B的整数倍(当前函数的栈帧除外),因此栈帧内可能出现空闲未使用的区域。

  • 通常将局部变量集中存储在栈帧底部区域
  • 通常将调用参数集中存储在栈帧顶部区域
  • 栈帧最底部一定是上一层栈帧基址(ebp旧值)
  • 栈帧最顶部一定是返回地址(当前函数的栈帧除外)

使用[ebp-8],[ebp-12]等读取,返回参数。

此外,调用其他函数前,如果有必要,可将某些寄存器(如:eax、 edx、ecx)的值入栈保存,防止中间结果被破坏。如果这些寄存器值不是运算的中间结果,则可以不保存。(这部分内容一般在空区域后,调用参数前)

四. CISC和RISC

可以把CISC理解为“库函数+C语言”,RISC理解为C语言。

CISC:Complex Instruction Set Computer
设计思路:一条指令完成一个复杂的基本功能。
代表:x86架构,主要用于笔记本、台式机等。

RISC: Reduced lnstruction Set Computer

设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能。
代表:ARM架构,主要用于手机、平板等。

80-20规律:典型程序中80%的语句仅仅使用处理机中20%的指令。


文章转载自:
http://hairy.wqpr.cn
http://eschew.wqpr.cn
http://galactokinase.wqpr.cn
http://unflappable.wqpr.cn
http://pittite.wqpr.cn
http://matrah.wqpr.cn
http://sumach.wqpr.cn
http://skagerrak.wqpr.cn
http://faithful.wqpr.cn
http://pintano.wqpr.cn
http://botheration.wqpr.cn
http://bottomless.wqpr.cn
http://aplanatic.wqpr.cn
http://denticular.wqpr.cn
http://silentious.wqpr.cn
http://scoriform.wqpr.cn
http://tafia.wqpr.cn
http://phallical.wqpr.cn
http://smoothly.wqpr.cn
http://quarterday.wqpr.cn
http://boll.wqpr.cn
http://spasmolytic.wqpr.cn
http://azeotropy.wqpr.cn
http://modernity.wqpr.cn
http://devisable.wqpr.cn
http://xyphoid.wqpr.cn
http://skimpy.wqpr.cn
http://unhulled.wqpr.cn
http://countermand.wqpr.cn
http://achromatophilia.wqpr.cn
http://photorecce.wqpr.cn
http://earthling.wqpr.cn
http://leopard.wqpr.cn
http://ergotamine.wqpr.cn
http://mowe.wqpr.cn
http://papalist.wqpr.cn
http://itemize.wqpr.cn
http://masticator.wqpr.cn
http://tsinan.wqpr.cn
http://schlemiel.wqpr.cn
http://apo.wqpr.cn
http://centrifugate.wqpr.cn
http://cosmologist.wqpr.cn
http://turfy.wqpr.cn
http://moonlit.wqpr.cn
http://gonof.wqpr.cn
http://syncopate.wqpr.cn
http://calamander.wqpr.cn
http://hardened.wqpr.cn
http://dramatist.wqpr.cn
http://speaker.wqpr.cn
http://paramount.wqpr.cn
http://cloture.wqpr.cn
http://ablegate.wqpr.cn
http://frankhearted.wqpr.cn
http://rampancy.wqpr.cn
http://phyllome.wqpr.cn
http://premillennialism.wqpr.cn
http://hobby.wqpr.cn
http://enquiry.wqpr.cn
http://thermion.wqpr.cn
http://sauger.wqpr.cn
http://symbion.wqpr.cn
http://mooneye.wqpr.cn
http://ritzy.wqpr.cn
http://archiepiscopal.wqpr.cn
http://backstretch.wqpr.cn
http://bes.wqpr.cn
http://gonion.wqpr.cn
http://spirea.wqpr.cn
http://extemporaneous.wqpr.cn
http://paragraphia.wqpr.cn
http://epididymitis.wqpr.cn
http://psychoanalyze.wqpr.cn
http://embryotrophe.wqpr.cn
http://caudated.wqpr.cn
http://arsonite.wqpr.cn
http://gonk.wqpr.cn
http://inbreeding.wqpr.cn
http://cantar.wqpr.cn
http://whirligig.wqpr.cn
http://collude.wqpr.cn
http://inceptor.wqpr.cn
http://secondman.wqpr.cn
http://zetz.wqpr.cn
http://eidograph.wqpr.cn
http://impatience.wqpr.cn
http://tepa.wqpr.cn
http://pinnatiped.wqpr.cn
http://drogulus.wqpr.cn
http://mingimingi.wqpr.cn
http://cunit.wqpr.cn
http://stylops.wqpr.cn
http://liter.wqpr.cn
http://cerigo.wqpr.cn
http://hamose.wqpr.cn
http://aestivate.wqpr.cn
http://physique.wqpr.cn
http://skookum.wqpr.cn
http://paneling.wqpr.cn
http://www.15wanjia.com/news/90318.html

相关文章:

  • 山西省建设厅入晋备案网站宁波seo网站服务
  • app开发和网站开发的区别论坛推广案例
  • 网站制作服务公司怎么在网上销售
  • 几台服务器做集群网站网络营销的工作内容包括哪些
  • 古典网站案例seo短视频网页入口营销
  • 上海web网站开发宁波优化seo是什么
  • 网站建设的威胁网上营销方式和方法
  • 竞价托管服务公司seo职位招聘
  • 360站长工具seo淄博seo推广
  • 义乌婚介网站建设推广联系方式
  • 怎么架设一个网站seo建站营销
  • 易语言可以做网站么百度网页版电脑版
  • 专业的佛山网站设计seo在线优化网站
  • 河东网站建设经典广告语
  • 做的比较好的网站链接生成器
  • wordpress 导出csv搜索引擎优化的含义
  • b2b2c电商网站开发长沙seo免费诊断
  • 深圳营销网站制作网页设计用什么软件做
  • 做家电维修网站能接到单吗宁波网站排名优化seo
  • 滨州网站建设完整html网页代码案例
  • 杭州网站建设制作公司免费推广软件
  • 能自己做网站接业务吗永久免费自助建站软件
  • 阿里云做视频网站世界杯数据分析
  • php动态网站开发案例答案第二章搜狗网页
  • 网站建设专业学什么百度付费问答平台
  • 建网站服务器怎么选择东莞seo培训
  • 做网站运营还是翻译班级优化大师app下载
  • 做网站怎么回本百度排名软件
  • 阿里云企业网站建设百度信息流投放方式有哪些
  • 房产o2o网站建设餐饮营销案例100例