电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PDF文档下载
分享到微信 分享到微博 分享到QQ空间

AT_T汇编语言格式

  • 资源ID:484853       资源大小:89.38KB        全文页数:29页
  • 资源格式: PDF        下载积分:2金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要2金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

AT_T汇编语言格式

转载) 开发一个 管绝大部分代码只需要用 C/C+等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的 外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。 如果你是计算机专业的话,在大学里你应该学习过 式的 8086/80386 汇编,这里就不再讨论。如果我们选择的 发工具是 及 话,就必须了解 汇编语言语法,因为 支持这种汇编语法。 本书不会去讨论 8086/80386 的汇编编程,这类的书籍很多,你可以参考它们。这里只会讨论 的汇编语法,以及 内嵌汇编语法。 引用寄存器要在寄存器号前加百分号 %,如“ % 80386 有如下寄存器: 8 个 32存器 % 8 个 16存器,它们事实上是上面 8 个 32存器的低 16 位: % 8 个 8存器: %们事实上是寄存器 %高 8 位和低 8 位; 6 个段寄存器: %cs( %ds( %ss( % 3 个控制寄存器: % 6 个 存器: % 2 个测试寄存器: % 8 个浮点寄存器栈: %), %), %), %), %), %), %), %)。 2. 操作数顺序 操作数排列是从源(左)到目的(右),如“ ) , %的)” 3. 立即数 使用立即数,要在数前面加符号 $, 如“ 0% 或者: 0%令执行的结果是将立即数 04h 装入寄存器 4. 符号常数 符号常数直接引用 如 %令执行的结果是将常数 0入寄存器 引用符号地址在符号前加符号 $, 如“ % 是将符号 地址装入寄存器 5. 操作数的长度 操作数的长度用加在指令后的符号表示 b(8 w(16 l(32如“ %“ %“ %。 如果没有指定操作数长度的话, 编译器将按照目标操作数的长度来设置。 比如指令 “ %, 由于目标操作数 长度为 那么编译器将把此指令等同于 “ %。同样道理,指令“ 4, %同于指令“ 4, % “ 同于“ 对于没有指定操作数长度,但编译器又无法猜测的指令,编译器将会报错,比如指令“ 4”。 6. 符号扩展和零扩展指令 绝大多数面向 80386 的 汇编指令与 式的汇编指令都是相同的,符号扩展指令和零扩展指令则是仅有的不同格式指令。 符号扩展指令和零扩展指令需要指定源操作数长度和目的操作数长度, 即使在某些指令中这些操作数是隐含的。 在 语法中,符号扩展和零扩展指令的格式为,基本部分 " "对应 后面跟上源操作数长度和目的操作数长度。 味着 味着 味着 于 令也一样。比如指令“ %味着将 存器的内容进行符号扩展后放置到 存器中。 其它的 式的符号扩展指令还有: - al to - ax to - ax to - to 对应的 语法的指令为 7. 调用和跳转指令 段内调用和跳转指令为 " " "段间调用和跳转指令为 " " " 段间调用和跳转指令的格式为 “ $, 而段间返回指令则为 “ 8. 前缀 操作码前缀被用在下列的情况: 字符串重复操作指令 ( 指定被操作的段 (cs,ds,ss,es,fs, 进行总线加锁 ( 指定地址和操作的大小 ( 在 汇编语法中,操作码前缀通常被单独放在一行,后面不跟任何操作数。例如,对于重复 令,其写法为: 述操作码前缀的意义和用法如下: 指定被操作的段前缀为 cs,ds,ss,es, 语法中,只需要按照格式就指定了相应的段前缀。比如:cs: 操作数地址大小前缀是“ "它们被用来在 32作数地址代码中指定 16操作数地址。 总线加锁前缀“ ,它是为了在多处理器环境中,保证在当前指令执行期间禁止一切中断。 这个前缀仅仅对 令有效,如果将 缀用在其它指令之前,将会引起异常。 字符串重复操作前缀 """来让字符串操作重复“ %。 9. 内存引用 法的间接内存引用的格式为: 而在 语法中对应的形式为: 其中, 任意的 32 存器。 以取值 1, 2, 4, 8。如果不指定 ,则默认值为 1。 以指定任意的段寄存器作为段前缀,默认的段寄存器在不同的情况下不一样。如果你在指令中指定了默认的段前缀,则编译器在目标代码中不会产生此段前缀代码。 下面是一些例子: 4, 有指定,由于 %以默认的有指定,则 0。 %): , 它域没有指定。这里默认的 1):这个表达式引用的是指针 向的地址所存放的值。注意这个表达式中没有 且只有一个逗号,这是一种异常语法,但却合法。 %gs:个表达式引用的是放置于 %里变量 值。 如果 作在操作数前指定前缀“ *”,则表示是一个绝对地址调用 /跳转,也就是说 令指定的是一个绝对地址。如果没有指定 "*",则操作数是一个相对地址。 任何指令如果其操作数是一个内存操作,则指令必须指定它的操作尺寸 (也就是说必须带有指令后缀 (b,w,l)。 持在 C/C+代码中嵌入汇编代码,这些汇编代码被称作 联汇编。这是一个非常有用的功能,有利于我们将一些 C/C+语法无法表达的指令直接潜入C/C+代码中,另外也允许我们直接写 C/C+代码中使用汇编编写简洁高效的代码。 基本的内联汇编非常易懂,我们先来看两个简单的例子: _; / 看起来很熟悉吧! 或者是 _ 1,%,%0); 或 _"1,%r t" "r t" "0 ); 基本内联汇编的格式是 _; 1、 _键字 宏定义: #_来声明一个内联汇编表达式,所以任何一个内联汇编表达式都是以它开头的,是必不可少的。 2、 汇编指令序列。它可以是空的,比如: _"); 或_"");都是完全合法的内联汇编表达式,只不过这两条语句没有什么意义。但并非所有 空的内联汇编表达式都是没有意义的,比如: _"":" 就非常有意义,它向 明:“我对内存作了改动”, 编译的时候,会将此因素考虑进去。 我们看一看下面这个例子: $ c _) _p = (_ (*_p)

注意事项

本文(AT_T汇编语言格式)为本站会员(工****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.