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

广告设计网站都有哪些华为应用商店下载

广告设计网站都有哪些,华为应用商店下载,网站新站整站排名,怎样查询网站的建设公司寄存器、变量(常量)与立即数 在Intel汇编中,无论是寄存器、变量(常量)还是立即数,都是直接使用的,例如下列例子中分别加载一个变量(常量)与立即数到寄存器中&#xff1a…

寄存器、变量(常量)与立即数

在Intel汇编中,无论是寄存器、变量(常量)还是立即数,都是直接使用的,例如下列例子中分别加载一个变量(常量)与立即数到寄存器中:

mov eax, var ; var为已经定义好的变量(常量)
mov eax, 1234h

在AT&T汇编中,使用寄存器需要在其名称前增加%,例如使用eax寄存器,在AT&T汇编中为%eax。对于变量(常量)与立即数,在AT&T中使用需要加上$

movl $var, %eax
movl $0x1234h, %eax

指令操作数顺序

在Intel汇编中,指令的格式为目标操作数在左,源操作数在右。而在AT&T汇编中,指令的格式为源操作数在左,目标操作数在右。

例如下面的例子中,将eax的值加载到ebx中,使用两个格式的汇编分别为:

movl %eax, %ebx ; AT&T
mov ebx, eax    ; Intel

指令字长

在AT&T汇编中,需要在指令后使用后缀bwlq表示操作数的字长,它们分别表示byte(8位)、word(16位)、longword(32位)与quadword(64位)。

下面的例子中,分别在不同位数的情况下,分别将alaxeaxrax寄存器中的值加载到blbxebxrbx寄存器中。

; 8位
movb %al, %bl   ; AT&T
mov bl, al      ; Intel
; 16位
movw %ax, %bx   ; AT&T
mov bx, ax      ; Intel
; 32位
movl %eax, %ebx ; AT&T
mov ebx, eax    ; Intel
; 64位
movq %rax, %rbx ; AT&T
mov rbx, rax    ; Intel

寻址方式

对于内存寻址,在Intel汇编中表达的格式为:

segment:[base + index * scale + offset]

而在AT&T中,其表达的格式为:

segment:offset(base, index, scale)

在表达内存寻址时,至少需要常量(offset)及基址(base)中的一项。下面我们通过几个例子了解一下不同情况下内存寻址的表示方式。

movl (%ebx), %eax ; AT&T
mov eax, [ebx]    ; Intel

对于使用变量(常量)作为寻址的偏移量,在AT&T汇编中使用时不需要加上$前缀。例如将var指向内存位置中的值加载至eax中,可分别通过下列语句实现:

movl var, %eax  ; AT&T
mov eax, [var]  ; Intel

下面的例子中,同时使用了基址寄存器与常量进行寻址的操作,其中常量可以为一个立即数,也可以是一个定义的变量。

movl 4(%ebx), %eax  ; AT&T
mov eax, [ebx + 4]  ; Intelmovl offset(%ebx), %eax  ; AT&T
mov eax, [ebx + offset]  ; Intel

在C语言中,我们可以简单的通过下标获取数组中的元素。例如对于int32类型的数组arr中的第i个元素,我们可以使用arr[i]表达式获取。对于获取数组中元素,使用Intel与AT&T汇编分别为下列的两种表达方式:

; arr[i], 假定变量i的值在eax中
mov ebx, [eax*4 + _arr]   ; Intel
movl _arr(,%eax,4), %ebx  ; AT&T

下面表格总结了几种不同情况下Intel与AT&T汇编的表达方式。

IntelAT&T
[1234]1234
[es:1234]%es:1234
[eax](%eax)
[eax + ebx](%eax, %ebx)
[eax + ebx * 2](%eax, %ebx, 2)
[ebx * 2](, %ebx, 2)
[eax - 10]-10(%eax)
[ds:ebp - 10]%ds:-10(%ebp)

参考资料

  • Brennan’s Guide to Inline Assembly
  • AT&T Assembly Syntax - UC Davis
http://www.yayakq.cn/news/614741/

相关文章:

  • 武冈网站建设做任务赚佣金的正规平台
  • 网站建设小故事天美影视传媒广告制作流程
  • 机械企业网站建设wordpress xrea
  • 邯郸兄弟建站swiper做的网站
  • 有哪些网站是做采购招标的网站外链有死链
  • 杭州网站设计的公司辽宁省开原市城乡建设投资有限公司网站
  • 如何做响应式布局网站汕头网站建设系统
  • 传奇世界新开服网站建设投资基金管理有限公司网站
  • 晋江市住房建设局网站天津百度推广优化排名
  • 厦门做网站 厦门专业做网站的公司 我想做网站网站开发年收入
  • 网站建设价格标准渠道阿里手机网站开发框架
  • 网站开发语言识别南宁网站建公司
  • 做网站用什么软件初二网站快速注册
  • 怎么建一个网站卖东西seo包年推广
  • 当当网电子商务网站建设特点宁波市高等级公路建设指挥部网站
  • 购物商城html网站代码网站建设中什么是一栏
  • 平顶山市网站建设公司如何对网站进行管理
  • cpa怎么做网站做网站的每天打电话咋办
  • 西部数码网站管理助手 卸载网站建设成交话术
  • 南宁网站建站公司打电话叫人做网站
  • 移动通网站建设gateface做网站
  • 英德市建设及城乡管理局网站vi设计经典案例
  • 做一个英文网站域名解析二级域名
  • 网站设计评价指标海南公共招聘网
  • 网站申请空间杭州物流公司
  • 东莞南城外贸网站建设自己做网站都需要什么
  • 电商网站建设培训班济南电商网站建设
  • 手机网站开发设计做pc端网站特色
  • 淮安哪个做网站好点北京网站设计公司有哪些
  • 长治一般做一个网站需要多少钱自贡建设监督质量网站