最近在学习MIPS CPU,需要将汇编语言程序编译成MIPS机器语言。
从sourcery codebench官网下载软件,Windows版本的安装程序我试过无法安装,于是在Ubuntu虚拟机中安装了下图第一个安装包.
下载完成后,是.bin文件,在下载文件夹中打开terminal,运行
./mips-2015.11-32-mips-linux-gnu.bin
提示"Permission Denied",权限不够,所以在命令行中输入
chmod 777 mips-2015.11-32-mips-linux-gnu.bin
之后正常进行安装,完成后输入 "mips-linux-gnu-gcc -v"检查是否安装成功.
使用GNU工具进行编译
在一个文件夹创建一个文件,并输入程序
touch hello.s
gedit hello.s
在编辑器中输入以下程序,并保存退出
.org 0x0
.global _start
.set noat
_start:
ori $1,$0,0x1100
ori $2,$0,0x0020
ori $3,$0,0xff00
ori $4,$0,0xffff
在terminal中输入一下命令对文件进行汇编
mips-linux-gnu-as -mips32 hello.s -o hello.o
会生成一个hello.o的文件,用Hex格式打开该文件
xxd hello.o
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-swSVP1Ej-1616295535452)(${Image}/image-20210312081337405.png)]
其中00000040行开始 就是我们写入的指令了