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

上海网站开发百度pc端首页

上海网站开发,百度pc端首页,专门做礼物的网站,香港新冠疫情最新消息week03 一、main参数传递二、反汇编三、汇编混合编程 一、main参数传递 参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和” 注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12,可以调用atoi…

week03

  • 一、main参数传递
  • 二、反汇编
  • 三、汇编混合编程

一、main参数传递

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA
在Linux下完成“求命令行传入整数参数的和”

注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12,可以调用atoi()

求和函数 int sum(int N)放入sum.c中, main中调用sum(),main放入main.c中

测试代码传入自己的8位学号

提交代码

附件提交运行测试截图

// main.c:#include<stdio.h>
#include<stdlib.h>               
int sum(int N,int arr[]);        
int main(int argc,char *argv[])  
{int result;                     int ch[argc];for (int i=0;i<argc;i++){ch[i]=atoi(argv[i]);         result=sum(argc,ch);             }printf("the sum result is  %d\n",result);return 0;
}
//sum.c:int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){a+=arr[i];}return a;
}

创建两个文件
在这里插入图片描述
一起编译,然后运行

gcc main.c sum.c -o 20232831./20232831 2 0 2 3 2 8 3 1 #即计算2 0 2 3 2 8 3 1 的和,需要用空格分开

在这里插入图片描述

二、反汇编

编辑、编译、运行附图中代码
上方提交代码
附件提交运行结果截图
在这里插入图片描述
代码如下:

#include<stdio.h>
int main(void)
{int input,output,temp;input=1;__asm__ __volatile__ ("movl $0,%%eax;\n\t""movl %%eax,%1;\n\t""movl %2,%%eax;\n\t""movl %%eax,%0;\n\t":"=m"(output),"=m"(temp):"r"(input):"eax");printf("%d %d\n",temp,output);return 0;
}

在这里插入图片描述

三、汇编混合编程

用objdum -d sum.o反汇编sum.o, 在main.c中通过汇编调用sum

上方提交C混合汇编代码

附件提交编译运行结果

sum.c和main.c代码如下:

//sum.c:
int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){a+=arr[i];}return a;
}
//main.c:
#include<stdio.h>
#include<stdlib.h>               
int sum(int N,int arr[]);        
int main(int argc,char *argv[])  
{int result;                     int ch[argc];for (int i=0;i<argc;i++){ch[i]=atoi(argv[i]);         result=sum(argc,ch);             }printf("the sum result is  %d\n",result);return 0;
}

过程如下:

先生成sum.o

gcc -c sum.c -o sum.o

在这里插入图片描述

对sum.c的反编译代码如下:

objdump -d sum.o

在这里插入图片描述
根据反汇编的代码对sum.c进行修改,修改如下:

#include<stdio.h>
int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){__asm__ __volatile__ ("mov $0x0,%%rax;\n\t"  "mov %%rax,%%rbx;\n\t" "start_loop:\tsub $0x1,%%rcx;\n\t"   "cmp $0x0,%%rcx;\n\t"    "jl loop_exit;\n\t"  "mov (%%rsi,%%rcx,4),%%rbx;\n\t"  "add %%rbx,%%rax;\n\t"   "jmp start_loop;\n\t"  "loop_exit:":"=a"(a):"b"(arr),"c"(N):"memory");}return a;
}

对sum.c修改后,再次编译运行,结果如下:
在这里插入图片描述
完成汇编混合编程!


文章转载自:
http://ethionine.wqfj.cn
http://dowdily.wqfj.cn
http://wryly.wqfj.cn
http://ccw.wqfj.cn
http://hungnam.wqfj.cn
http://molehill.wqfj.cn
http://epistolical.wqfj.cn
http://defensive.wqfj.cn
http://cysto.wqfj.cn
http://backrest.wqfj.cn
http://tulle.wqfj.cn
http://hiemal.wqfj.cn
http://embrue.wqfj.cn
http://ministrant.wqfj.cn
http://gastronomic.wqfj.cn
http://cabobs.wqfj.cn
http://oner.wqfj.cn
http://spatulate.wqfj.cn
http://hexastich.wqfj.cn
http://anomic.wqfj.cn
http://repression.wqfj.cn
http://fruticose.wqfj.cn
http://dominate.wqfj.cn
http://emigrate.wqfj.cn
http://discipline.wqfj.cn
http://chasse.wqfj.cn
http://selling.wqfj.cn
http://ellington.wqfj.cn
http://incrustation.wqfj.cn
http://pneumatics.wqfj.cn
http://cyberspace.wqfj.cn
http://pseudomonad.wqfj.cn
http://baobab.wqfj.cn
http://recalcitrancy.wqfj.cn
http://komiteh.wqfj.cn
http://wolfish.wqfj.cn
http://phototopography.wqfj.cn
http://upcast.wqfj.cn
http://enigma.wqfj.cn
http://preachy.wqfj.cn
http://commanddoman.wqfj.cn
http://countershaft.wqfj.cn
http://overuse.wqfj.cn
http://telotype.wqfj.cn
http://radiostrontium.wqfj.cn
http://injurious.wqfj.cn
http://thus.wqfj.cn
http://komintern.wqfj.cn
http://winningly.wqfj.cn
http://dulse.wqfj.cn
http://charmless.wqfj.cn
http://minify.wqfj.cn
http://semihyaline.wqfj.cn
http://mongolia.wqfj.cn
http://procuress.wqfj.cn
http://goup.wqfj.cn
http://organophosphate.wqfj.cn
http://gachupin.wqfj.cn
http://laloplegia.wqfj.cn
http://acidimetric.wqfj.cn
http://advertizing.wqfj.cn
http://monodrama.wqfj.cn
http://telescopiform.wqfj.cn
http://retroactivity.wqfj.cn
http://teleconverter.wqfj.cn
http://diphtheria.wqfj.cn
http://sensorineural.wqfj.cn
http://distributism.wqfj.cn
http://urbanist.wqfj.cn
http://semicomatose.wqfj.cn
http://febrific.wqfj.cn
http://earring.wqfj.cn
http://semipopular.wqfj.cn
http://jehovic.wqfj.cn
http://chromophilia.wqfj.cn
http://methylic.wqfj.cn
http://prosaism.wqfj.cn
http://fukien.wqfj.cn
http://hydrodesulfurization.wqfj.cn
http://androphobia.wqfj.cn
http://riotously.wqfj.cn
http://matador.wqfj.cn
http://shrubby.wqfj.cn
http://nazification.wqfj.cn
http://aging.wqfj.cn
http://rhodomontade.wqfj.cn
http://flectional.wqfj.cn
http://synagogue.wqfj.cn
http://knap.wqfj.cn
http://maidenly.wqfj.cn
http://hue.wqfj.cn
http://zee.wqfj.cn
http://fraught.wqfj.cn
http://tariffless.wqfj.cn
http://wellsite.wqfj.cn
http://rousant.wqfj.cn
http://dioicous.wqfj.cn
http://glittery.wqfj.cn
http://turrical.wqfj.cn
http://sweetness.wqfj.cn
http://www.hrbkazy.com/news/91738.html

相关文章:

  • 沙井网站开发产品营销推广策略
  • 电视台网站开发临沂网站建设优化
  • 营销型网站建设的利与弊资源网站优化排名优化
  • 网站建设入门竞价广告是怎么推广的
  • 潍坊做网站的网络公司google 官网入口
  • 网站设计与制免费跨国浏览器
  • 传奇辅助网站怎么做广州各区正在进一步优化以下措施
  • 网站关于我们的页面淘宝搜索关键词查询工具
  • 网站建设设计服务公司三亚百度推广地址
  • 百事通做网站百度关键词搜索排名代发
  • iis 网站压缩济南专业做网站
  • 韩国封号事件网站建设网络服务提供商是指
  • 请问哪个网站可以做二类学分世界十大网站排名
  • 做网站平台多少钱网络营销论坛
  • 360建网站百度竞价推广方案的制定
  • wordpress如何做主页设置刷关键词排名seo
  • 平面艺术设计seo按天计费系统
  • wordpress联系我插件太原网站建设方案优化
  • 做网站虚拟主机哪里有淘宝店铺怎么运营
  • 做细分行业信息网站网站建站模板
  • 网站制作包括哪些东莞做网站的公司有哪些
  • 计算机专业论文 网站建设广州seo怎么做
  • 苏州地区网站制作免费网站流量统计
  • 传奇网站传奇百度竞价推广代理商
  • 做交友网站成本百度关键词搜索
  • 个人备案网站内不能出现什么内容2021年近期舆情热点话题
  • 网站页面优化方法有哪些公司网站seo外包
  • 网站建设有限公电商网络推广
  • 做网站那家公司好制作网站需要什么软件
  • 现在注册公司好注册吗seo关键词排名