首页 > 其他 > 详细

内联汇编摘要

时间:2021-06-01 23:53:55      阅读:23      评论:0      收藏:0      [点我收藏+]

AT&T语法:

  基本方面:

  在指令名字后面加加上操作数大小后缀,如b,w,l(1,2,4Bytes)

  设计思想是源操作数->目的操作数,所以目的操作数在右边

  立即数前面加$,寄存器的值前面加%

  如果直接使用一个数就表示这个数对应的地址

  内存寻址:

  segreg(段基址):base_address(offset_address, index, size)  ==

  segreg:base_address + offset_address + index * size

  其中,base_address是基地址,可以为整数、变量名,offset_address和index必须为八个通用寄存器之一

  注意:格式中没有的部分也要保留逗号  

基本内联汇编:

  格式:

  asm(_asm)  [volatile(_volatile_)] ("assembly code")  

  assembly code规则:

  可以使用多个引号

  指令必须用双引号括起来,无论双引号中是一条还是多条指令

  一对双引号不能跨行,跨行要加\

  指令之间必须用分号;或者\n或者\n\t分割

  注意:

  在基本内联汇编中,若要引用C语言变量,只能使用全局变量,不然链接的时候找不到

内联汇编摘要

原文:https://www.cnblogs.com/TherLF/p/14838986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!