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

西安北郊网站维护运营好设计购物网站

西安北郊网站维护运营,好设计购物网站,骏域网站建设专家东莞,培训机构seo1#xff0c;看一下asmlinkage的定义 CPP_ASMLINKAGE __attribute__((regparm(0))) GCC中使用__attribute__((regparm(n)))指定最多可以使用n个寄存器#xff08;eax, edx, ecx#xff09;传递参数#xff0c;n的范围是0~3#xff0c;超过n时则将参数压入栈中#xff08;…1看一下asmlinkage的定义 CPP_ASMLINKAGE __attribute__((regparm(0))) GCC中使用__attribute__((regparm(n)))指定最多可以使用n个寄存器eax, edx, ecx传递参数n的范围是0~3超过n时则将参数压入栈中n0表示不用寄存器传递参数。 补充C语言调用函数参数使用栈传递有的说使用寄存器传递上面的asmlinkage关键字主要用于这个作用那么linux下有几个是使用栈传递几个使用寄存器传递的呢。 #include stdio.hint fun(int a, int b, int c, int d, int e, int f, int g,int h) {return abcdefg; }int main() {int a fun(1,2,3,4,5,6,7,8);return 0; } 汇编查看 larkubuntu:~/test$ sudo gcc example.c  -o example -g larkubuntu:~/test$ objdump -d example 0000000000001129 fun:     1129:    f3 0f 1e fa              endbr64      112d:    55                       push   %rbp     112e:    48 89 e5                 mov    %rsp,%rbp     1131:    89 7d fc                 mov    %edi,-0x4(%rbp)     1134:    89 75 f8                 mov    %esi,-0x8(%rbp)     1137:    89 55 f4                 mov    %edx,-0xc(%rbp)     113a:    89 4d f0                 mov    %ecx,-0x10(%rbp)     113d:    44 89 45 ec              mov    %r8d,-0x14(%rbp)     1141:    44 89 4d e8              mov    %r9d,-0x18(%rbp)     1145:    8b 55 fc                 mov    -0x4(%rbp),%edx     1148:    8b 45 f8                 mov    -0x8(%rbp),%eax     114b:    01 c2                    add    %eax,%edx     114d:    8b 45 f4                 mov    -0xc(%rbp),%eax     1150:    01 c2                    add    %eax,%edx     1152:    8b 45 f0                 mov    -0x10(%rbp),%eax     1155:    01 c2                    add    %eax,%edx     1157:    8b 45 ec                 mov    -0x14(%rbp),%eax     115a:    01 c2                    add    %eax,%edx     115c:    8b 45 e8                 mov    -0x18(%rbp),%eax     115f:    01 c2                    add    %eax,%edx     1161:    8b 45 10                 mov    0x10(%rbp),%eax     1164:    01 d0                    add    %edx,%eax     1166:    5d                       pop    %rbp     1167:    c3                       retq    0000000000001168 main:     1168:    f3 0f 1e fa              endbr64      116c:    55                       push   %rbp     116d:    48 89 e5                 mov    %rsp,%rbp     1170:    48 83 ec 10              sub    $0x10,%rsp     1174:    6a 08                    pushq  $0x8     1176:    6a 07                    pushq  $0x7     1178:    41 b9 06 00 00 00        mov    $0x6,%r9d     117e:    41 b8 05 00 00 00        mov    $0x5,%r8d     1184:    b9 04 00 00 00           mov    $0x4,%ecx     1189:    ba 03 00 00 00           mov    $0x3,%edx     118e:    be 02 00 00 00           mov    $0x2,%esi     1193:    bf 01 00 00 00           mov    $0x1,%edi     1198:    e8 8c ff ff ff           callq  1129 fun     119d:    48 83 c4 10              add    $0x10,%rsp     11a1:    89 45 fc                 mov    %eax,-0x4(%rbp)     11a4:    b8 00 00 00 00           mov    $0x0,%eax     11a9:    c9                       leaveq      11aa:    c3                       retq        11ab:    0f 1f 44 00 00           nopl   0x0(%rax,%rax,1) 我们可以看到edi,esi,edx,ecx,r8d,r9d这几个寄存器 访问另外的两个为pushq(栈访问。 2asmlinkage举例
http://www.hkea.cn/news/14357926/

相关文章:

  • 移动端网站建设的方案建官网公司
  • 成都哪家做网站公司好黄页88网站
  • 腾讯云免费网站建设2018网站建设合同范本
  • 舟山市定海区建设规划局网站商业空间
  • 点对点视频网站开发房地产开发资质
  • 网站开发教程 视频 ssh数据库和网站开发
  • 500云空间网站无锡谷歌推广
  • 做网站接活犯法吗介绍一个电影的网站模板下载
  • 常熟网站制作设计wordpress美化登录
  • c语言做网站吗黄石本土做网站的公司
  • 网站排版的优点中信国际建设公司网站
  • 为什么建设长虹网站建设一个视频教学网站
  • wordpress能做多大的站wordpress 查看密码
  • 网站源码调试做网站多少流量可以做广告
  • 苏州网站推广软件那些网站可以做团购
  • 公司网站建设内容建议搜狗推广管家
  • 失信人被执行人查询沈阳seo优化排名公司
  • 苏州吴江建设局招标网站备案不关闭网站怎么样
  • 贵阳网站设计与开发怎么做东莞市网络seo推广企业
  • 网站建设 博采百度广告费一般多少钱
  • 网站建设个人网站推荐好的简历制作网站
  • 哈尔滨网站建设的公司哪家好深圳网站设计南京
  • 怎么建设网站广饶县住房和城乡建设局网站
  • 神州网站制作html怎么写
  • 商业网站是什么青岛网站商城设计
  • 怎么建设自己的论坛网站马鞍山天立建设网站
  • 网站框架地图怎么自己制作图片
  • 17zwd一起做业网站建设部网站首页
  • 大庆城市投资建设网站进广州最新政策
  • 科技企业网站制作最有创意的广告语30条