计算机组成原理实验报告二-认识汇编语言

实验资料:
https://wwpv.lanzoue.com/b05drqjef
密码:d19t

  1. 使用txt文档编写下面C源码,文档命名为【学号_hello.c】并使用Mingw工具(是
    Minimalist GNU for Windows的缩写)的bin文件夹下gcc.exe带选项编译(),打开文件后截图。
#include<stdio.h>
#define A 1000
int main()
{
    
    
	printf("hello_%d",A);
	return 0;
}
选项 生成的文件后缀名 打开生成文件截图
gcc.exe -E xx.c .i 预处理
gcc.exe -S xx.c .s 编译
gcc.exe -c xx.c .o 汇编
gcc.exe xx.c -o xx.exe .exe 链接
gcc.exe xx.c -v .txt 版本信息

注意:第一至四个命令的实际使用参考下图
编译c程序
参考:
GCC编译常用命令
C语言编译 - gcc 编译指令
gcc 编译命令详解及最佳实践
C语言的编译过程详解

步骤一:打开DOS窗口:
按住shift+鼠标右键,选择“在此处打开XXXX窗口”

步骤二:认识Gcc的常用选项
-E *.i 预处理后的文件
-S *.s 汇编文件
-c *.o 目标文件object(二进制)
  hello.o + printf.o + math.o = *.exe
  printf.o + math.o+… 打包成库文件
-o 指定生成想要的EXE文件名
-v

步骤三:敲以下命令
.\gcc.exe .\2100130499_hello.c -E (显示到屏幕上)
.\gcc.exe .\2100130499_hello.c -E > 2100130499_hello.i (将屏幕上的内容重定向到txt中)
.\gcc.exe .\2100130499_hello.c -v (显示版本信息到屏幕上,无法直接重定向)
.\gcc.exe .\2100130499_hello.c -v 2>&1 > 2100130499_vhello.txt(需要加2>&1再重定向)
.\gcc.exe .\2100130499_hello.c (自动生成可执行文件a.exe)
.\gcc.exe .\2100130499_hello.c -o 改成你的学号.exe (指定生成特定文件名的exe)
注:-c -S 等选项会自动生成

  1. 用txt文件软件打开【学号_hello.s】汇编文件,将汇编语句的”hello”改成”Kitty”(修改后截图),并使用gcc.exe 学号_hello.s -o 学号_Kitty.exe,在DOS界面中运行学号_Kitty.exe,运行效果截图
    参考截图:
    修改汇编
    运行程序

  2. 拷贝下面1到10的累加C源码到【学号_sum.c】,
    (1) 使用gcc.exe 学号_sum.c -O0 -S -o 学号_sum_O0.s,查看生成的文件,截图
    (2) 使用gcc.exe 学号_sum.c -O2 -S -o 学号_sum_O2.s,查看生成的文件,截图
    (3) 比较-O0和-O2生成的汇编文件中main函数代码行数,截图上分别写明行数。

#include<stdio.h>
int main()
{
    
    
	int i, sum = 0;
	for( i = 1; i < 10; i++)
	{
    
    
		   sum += i;
	}
	printf(“sum=%d”,sum);
	return 0;
}

(1)
(2)

  1. 下载附件中的“2100130499.exe”。安装并使用ultraEdit软件,强制修改文件将打印的”2100130499”修改成“你自己的学号”,并截图在ultraEdit软件修改的部分(用红色框框定),以及在DOS中修改前1次及修改后2次的运行截图。

    附件:2100130499.exe
    注释:直接搜索 20130499 ,如下图所示,然后在点击右侧的字符串,修改为自己的学号
    查找

  2. (实验三内容-有兴趣的同学提前做)下载附件中的“2100130499VIP.exe”。安装并使用ultraEdit软件,强制将修改文件中的if…else分支语句,将”2100130499普通会员”修改成“你自己的学号VIP”,并截图在ultraEdit软件修改的部分(用红色框框定),以及在DOS中修改前1次及修改后2次的运行截图。

请参考 计算机组成原理实验三-修改二进制文件的程序改变最终运行结果 第二个问题

猜你喜欢

转载自blog.csdn.net/qq_46373141/article/details/130758915