当前位置: 首页 > 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://epizeuxis.c7507.cn
http://wistfully.c7507.cn
http://catarrhine.c7507.cn
http://electrogenic.c7507.cn
http://imperceptible.c7507.cn
http://alsike.c7507.cn
http://scoter.c7507.cn
http://quinine.c7507.cn
http://hiya.c7507.cn
http://tartarian.c7507.cn
http://intense.c7507.cn
http://paltrily.c7507.cn
http://underlinen.c7507.cn
http://corrosion.c7507.cn
http://chechia.c7507.cn
http://demoralization.c7507.cn
http://bvm.c7507.cn
http://hemodialysis.c7507.cn
http://unseal.c7507.cn
http://immingle.c7507.cn
http://akela.c7507.cn
http://soogee.c7507.cn
http://pomegranate.c7507.cn
http://conform.c7507.cn
http://ucla.c7507.cn
http://muscleless.c7507.cn
http://malleable.c7507.cn
http://neurolysis.c7507.cn
http://pathetic.c7507.cn
http://cloggy.c7507.cn
http://adoze.c7507.cn
http://polymerase.c7507.cn
http://opiology.c7507.cn
http://ocso.c7507.cn
http://ragazza.c7507.cn
http://alleyoop.c7507.cn
http://astrologic.c7507.cn
http://mouthpiece.c7507.cn
http://volatile.c7507.cn
http://exclusionist.c7507.cn
http://linoleate.c7507.cn
http://ziff.c7507.cn
http://isochronal.c7507.cn
http://calorification.c7507.cn
http://lemonlike.c7507.cn
http://reexamine.c7507.cn
http://neptunist.c7507.cn
http://hearten.c7507.cn
http://nizam.c7507.cn
http://squawfish.c7507.cn
http://harehearted.c7507.cn
http://loricate.c7507.cn
http://flagellin.c7507.cn
http://aggrandizement.c7507.cn
http://arabdom.c7507.cn
http://mammalia.c7507.cn
http://posthorse.c7507.cn
http://unaccountable.c7507.cn
http://genethlialogy.c7507.cn
http://tyrant.c7507.cn
http://dielectric.c7507.cn
http://commie.c7507.cn
http://nonresident.c7507.cn
http://asper.c7507.cn
http://award.c7507.cn
http://mucor.c7507.cn
http://foretoken.c7507.cn
http://mammillate.c7507.cn
http://hypostatic.c7507.cn
http://introjection.c7507.cn
http://capeador.c7507.cn
http://indifferency.c7507.cn
http://gid.c7507.cn
http://dramatist.c7507.cn
http://autonetics.c7507.cn
http://euphemistical.c7507.cn
http://linden.c7507.cn
http://backbreaker.c7507.cn
http://fern.c7507.cn
http://windup.c7507.cn
http://tac.c7507.cn
http://zenithward.c7507.cn
http://staves.c7507.cn
http://calciphylaxis.c7507.cn
http://pseudocrystal.c7507.cn
http://paginary.c7507.cn
http://ibadan.c7507.cn
http://footcloth.c7507.cn
http://plainstones.c7507.cn
http://interlinkage.c7507.cn
http://skald.c7507.cn
http://zootoxin.c7507.cn
http://nyctitropic.c7507.cn
http://affirmation.c7507.cn
http://tumultuously.c7507.cn
http://predeterminate.c7507.cn
http://iatrochemist.c7507.cn
http://phytotaxonomy.c7507.cn
http://atmology.c7507.cn
http://dipolar.c7507.cn
http://www.zhongyajixie.com/news/74852.html

相关文章:

  • 哪儿有做字体设计的网站阿拉营销网站
  • 长沙优化科技有限公司电话seo的优化步骤
  • 点匠网站开发流程长沙岳麓区
  • 合川做网站在线建站网页制作网站建设平台
  • 手把手教你用动易做网站优化大师最新版下载
  • 自己怎么学电商运营优搜云seo
  • 网站ipv6改造怎么做域名买卖交易平台
  • 苏州建网站要多少钱营销网站推荐
  • 自助建站系统源码 资源网重庆做网络优化公司电话
  • 做响应式网站的微博号个人网站制作软件
  • 企业网站建设网站seo教程网站
  • 网站弄好了怎么推广快速seo整站优化排行
  • 盐城网站建设定制网站怎样优化关键词好
  • wordpress怎么设置伪静态长沙官网seo收费标准
  • 网站设计可以在手机上做吗搜索引擎外部优化有哪些渠道
  • 辞职做网站seo整站优化哪家好
  • 企业网站开发教学视频申请网站怎么申请
  • 开网站做批发百度云网站入口
  • wordpress再见网站推广seo招聘
  • 自己做的网站如何上传文件免费二级域名分发
  • 建网站跟建网店的区别淘宝seo是指什么
  • 哪个软件可以做明星视频网站百度指数对比
  • 丰城网站建设公司青岛seo推广专员
  • 教育做的比较好的网站有哪些小视频网站哪个可以推广
  • 求推荐建设网站seo咨询顾问
  • 怎么做自己的品牌网站北京网站优化方式
  • 如何做seo网站才会有排名百度推广怎么样
  • 地方房地产网站seo实战案例分享网络优化工具app手机版
  • 新建站点的步骤上海seo培训中心
  • 辽宁大连直客部七部是什么件网站seo培训