20191226刘煊赫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
1.  在X86_64架构下实践2.5中的内容,提交代码和实践截图
2. 把2.5的内容在OpenEuler中重新实践一遍,提交相关代码和截图
3. 实验内容要经过答辩才能得到相应分数

过程

一、在X86_64架构下实现

查看linux虚拟机版本

 

 

下载gcc32位库

sudo apt-get install gcc-multilib g++-multilib module-assistant

 

 

1、用汇编代码编程

将c代码编译成汇编代码
c代码:

#include<stdio.h>

extern int B();

int A(int x,int y)

{

int d,e,f;

d =4;

e =5;

f=6;

d=B(d,e);

}

使用指令gcc -m32 -S 将a.c代码编译成32位的汇编代码
查看编译结果:

 

2、用汇编语言实现函数

示例2.2

程序的c代码与汇编代码:

 

 

编译指令:gcc -m32 s.c s.s -o s

 

 

运行结果:

 

 

示例2.3

c代码与汇编代码:

 

 

编译指令:

gcc -m32 mysum.c mysum.s -o mysum

 

 运行结果:

 

 

3、在汇编中调用c函数

示例2.4

c代码与汇编代码:

 

 

编译指令gcc -m32 2.4.c 2.4.s -o lxh

 

 

运行结果

 

 

posted on 2021-12-12 23:00  20191226刘煊赫  阅读(25)  评论(0编辑  收藏  举报