计算机组成与设计课内实验指导
《计算机组成与设计》课内实验指导
实验一 可执行程序的生成 ( 第 1 章)
一、实验目的 :
通过了解高级语言源程序与目标机器代码的不同表示及其相互转换 , 深刻理解
高级语言与机器语言之间的关系 , 以及机器语言与不同体系结构之间的关系。
二、实验要求 :
对教材 1、4 、5 节给出的 hello 、c 源程序进行编译、链接 , 最终生成可执行目
标代码。
三、实验步骤 :
1、在Windos环境下用任意一个编辑器编写 hello 、c程序 , 拷贝到 E:\OpenMIPS
目录下。
2、将Windos环境下 E:\OpenMIPS\hello 、c源程序拷贝到虚拟机 /home/ 目录下。
(1) 打开VisualBox, 界面如图 1所示。
图1 VisualBox 主界面
(2) 双击 OpenRISC_Ubuntu图标, 启动虚拟机 , 界面如图 2所示。
(3) 打开命令终端 , 如图 3所示 , 在命令行输入 sudo mount –t vboxsf
OpenMIPS /mnt/ 回车, 输入openrisc 密码 , 然后打开虚拟机左上角文件夹 , 按照目录
层次打开 /mnt/ 文件夹 , 将/mnt 下的 hello 、c源程序拷贝到当前 (/home/) 目录下。
计算机组成与设计课内实验指导
图2 虚拟机桌面
图3 命令终端
3、在虚拟机环境下将 hello 、c编译为 MIPS汇编程序。
( 1) 在命令行输入 mips, 在连按两次 Tab键, 瞧到如图 4所示的 mips编译工具
列表。
计算机组成与设计课内实验指导
图4 MIPS编译工具
( 2) 如查瞧 mips-sde-elf-gcc 命令使用说明 , 只要在命令行输入
mips-sde-elf-gcc --help 。
( 3) 编译 hello 、c源程序为汇编代码 : 在命令行输入 mips-sde-elf-gcc –S
hello 、c 回车即可 , 在当前目录下就生成 hello 、s汇编程序。
4 、将汇编程序汇编为二进制机器代码 : 在命令行输入 mips-sde-elf-as –mips32
hello 、s -o hello 、o回车即可 , 在当前目录下就生成 hello 、o 目标代码。
5、进行链接成可执行目标文件。将 (/opt/mips-4 、3/mips-sde-elf/lib) 安装
目录下的 malta-24kc-ram-hosted 、ld 文件拷贝到当前 (/home/) 目录下, 在命令行输
入 mips-sde-elf-ld –T malta-24kc-ram-hosted 、ld hello 、o –o hello 、om,此命
令如有问题 , 用gcc直接编译、汇编、链接成可执行文件 , 即在命令行输入
mips-sde-elf-gcc –T malta-24kc-ram-hosted 、ld hello 、c –o hello 、om即可。
6、在命令行输入 mips-sde-elf-run hello 、om即可瞧到运行结果。