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

广州专业的免费建站百度快速排名优化工具

广州专业的免费建站,百度快速排名优化工具,网络营销战略规划,椒江网站建设0X0 近几天使用内联汇编来完成部分功能#xff0c;下面总结下基础知识点#xff0c;以便以后查询 语法基本结构 __asm__ __volatile__(汇编语句\n\t汇编语句\n\t:输出寄存器:输入寄存器:寄存器破坏表);‘:’把内联汇编分割为了4个部分 第一部分 如…0X0 近几天使用内联汇编来完成部分功能下面总结下基础知识点以便以后查询 语法基本结构 __asm__ __volatile__(汇编语句\n\t汇编语句\n\t:输出寄存器:输入寄存器:寄存器破坏表);‘:’把内联汇编分割为了4个部分 第一部分 如上的第二、第三行这里可以填写若干条汇编指令 第二部分 如上的第四行在这里对输出寄存器进行描述 第三部分 如上的第五行在这里对输入寄存器进行描述 第四部分 如上的第六行 如果有输入没有输出第五行的‘:’是必不可少的是格式的一部分第六行的‘:’可以省略 如果没有输出和输入的话’:可以省略 寄存器修饰 修饰说明该寄存器只写的该寄存器是读写的该寄存器不能被再用作输入寄存器r通用寄存器f浮点寄存器moffset为有符号12bit内存地址ZCoffset为有符号16bit4字节对齐地址ZBoffset为0的地址 实例 例1 int a2,b1,c0;__asm__ __volatile__(addu %0, %1, %2\n\t:r(c):r(a),r(b));printf(%d \n, c);MIPS 无符号32位加法指令的格式为ADDU rd, rs, rt计算rsrtrd所以rd是输出寄存器rs、rt为输出寄存器 第三行使用%数字来进行占位然后在第二、第三部分对寄存器进行描述并与C语言变量关联起来 第四行r( c ) 是对%0的修饰表示%0 操作数是一个通用寄存器只写“写的值放到变量c” 第五行r(a),“r”(b)表示%1、%2操作数是通用寄存器寄存器的值使用变量a、b的值 对这段代码反汇编 ;-- main:;-- section..text:;-- .text:;-- _ftext:0x1200008d0 f0ffbd67 daddiu sp, sp, -0x10 ; [11] -r-x section size 608 named .text0x1200008d4 0000bcff sd gp, (sp)0x1200008d8 02001c3c lui gp, 20x1200008dc c0839c67 daddiu gp, gp, -0x7c400x1200008e0 0800bfff sd ra, 8(sp)0x1200008e4 2de09903 daddu gp, gp, t90x1200008e8 02000524 addiu a1, zero, 20x1200008ec 01000224 addiu v0, zero, 10x1200008f0 2128a200 addu a1, a1, v00x1200008f4 488084df ld a0, -segment.LOAD0(gp) ; [0x120010cd8:8]0x120000000 segment.ehdr0x1200008f8 988099df ld t9, -sym._MIPS_STUBS(gp) ; [0x120010d28:8]0x120000b30 sym.imp.printf0x1200008fc 09f82003 jalr t90x120000900 900b8464 daddiu a0, a0, 0xb900x120000904 0800bfdf ld ra, 8(sp)0x120000908 0000bcdf ld gp, (sp)0x12000090c 25100000 move v0, zero0x120000910 0800e003 jr ra0x120000914 1000bd67 daddiu sp, sp, 0x100x120000918 00000000 nop0x12000091c 00000000 nop 可以看到在第11~13行 addiu a1, zero, 2 把2装到a1寄存器 addiu v0, zero, 1把1装到v0寄存器 addu a1, a1, v0把12结果放到a1寄存器 例2 在汇编语句比较多时再使用%数字的方式来表示就容易混乱 int ret 0;int arg__asm__ __volatile__ (cpucfg %[var], %[index]:[var]r(ret):[index]r(arg):);使用%[]来占位中括号中可以填一个字符串 这样在汇编语句多时要方便些 例3 在遇到某些汇编指令编译器不支持时可以使用二进制编码 int a0;__asm__ __volatile__(.insn \n\t.word (0b1011100100000110010010000100) \n\t:r(a):); 在C语言定义变量时也可以指定变量放在那个寄存器如下 register int a asm($4) 2;定义了一个int类型的变量值为2并使用的是$4寄存器
http://www.yutouwan.com/news/252198/

相关文章:

  • 企业网站框架图wordpress主题 手机端
  • 做喷绘的图在哪个网站找洛阳高新区做网站公司
  • 网站开发技术html哪个网站做摄影师好
  • dw怎么做百度页面网站长春行业网站
  • c 怎么做网站开发没有网站可以域名备案
  • 聚合影视网站建设网络平台投诉电话
  • 如何查找未备案网站网站建设企业排行
  • 做网站上传的图片大小医院诊所网站源码
  • 大连做网站孙晓龙桂林北站到两江机场有多远
  • h5网站模板开发西安房产网官网
  • 网站怎么挂广告奇璐荣获北京十大高端设计公司称号
  • 物流公司在哪做网站网站建设选哪个
  • 手机网站网站开发流程网站上做视频如何盈利
  • 做设计那些网站可以卖设计图做网站i3够用吗
  • 百度网站是百度公司做的吗百度推广竞价排名技巧
  • 个人公益网站怎么制作app网站建设 - 百度
  • 上海做网站多少钱目前市面上做网站的程序
  • 毕业设计除了网站还可以做啥建设网站如
  • 网站备案无前置审批文件高端网站建设专业公司
  • 网站建设督查工作主持词网站快速备案
  • WordPress P站深圳网站建设深圳网
  • 淄博中企动力公司网站机票旅游网站建设
  • 目前做网站需要什么cms河南网站建设公司
  • 九江市房管局建设官方网站信息化建设杂志社官方网站
  • 教研室网站建设照片编辑软件app
  • 零食网站推广策划书广西壮族自治区地图全图
  • 品牌策划网站建设建设在线教育网站
  • 使用模块化的网站seo关键词推广方式
  • 源码建站和模板建站区别网站建设与优化推广方案模板
  • 婚纱设计网站公司做网站需要给百度交钱吗