资源描述:
《杭电计组实验6-MIPS汇编器与模拟器实验.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、杭州电子科技大学计算机学院实验报告实验项目:课程名称:计算机组成原理与系统结构课程设计姓名:学号:同组姓名: 学号: 实验位置(机号):实验日期: 指导教师:实验内容(算法、程序、步骤和方法)一、实验目的(1)学习MIPS指令系统,熟悉MIPS指令格式及其汇编指令助记符,掌握机器指令编码方法. (2)学习MIPS汇编程序设计,学会会使用MIPS汇编器将汇编语言翻译成二进制文件。 (3)了解使用MIPS教学系统模拟器运行程序的方法二、实验仪器ISE工具软件三、步骤、方法(1)使用记事本编辑内容 ,程序的扩展名为.asm或者.s;(2)运行PC
2、Spim程序:启动PCSpim,选择File-open命令,打开上面建立的text.asm文件。在指令区,左侧“[]”内为指令地址,中间的是十六进制的指令代码(机器码),右侧是相应的标准汇编指令,最右边的是汇编源程序。执行:选择连续执行,选择Simulator-go命令,通过对指令地址设置断点,程序每次执行到该位置时就会停下来。(3)选择File-SaveLogFile命令即可,*.log文件可以以文本的方式打开,记录了程序的执行情况,包括各个寄存器值、内存指令代码、数据区域等信息。操作过程及结果一、操作过程创建一个名为R_CPU_Test.asm的文件;
3、内容如下nor $1,$0,$0; #$1=FFFF_FFFF sltu $2,$0,$1; #$2=0000_0001 add $3,$2,$2; #$3=0000_0002 add $4,$3,$2; #$4=0000_0003 add $5,$4,$3; #$5=0000_0005 add $6,$5,$3; #$6=0000_0007 sllv $7,$6,$2; #$7=0000_000E add $9,$5,$6; #$9=0000_000C sllv $8,$6,$9; #$8=0000_7000 xor $9,$1,$8;
4、 #$9=FFFF_8FFF add $10,$9,$1; #$10=FFFF_8FFEsub $11,$8,$7; #$11=0000_6FF2 sub $12,$7,$8; #$12=FFFF_900E and $13,$9,$12; #$13=FFFF_800E or $14,$9,$12; #$14=FFFF_9FFF or $15,$6,$7; #$15=0000_000F nor $16,$6,$7; #$16=FFFF_FFF0 add $17,$7,$3; #$17=0000_0010 sllv $18,$8,$17; #
5、$18=7000_0000 sllv $19,$3,$17; #$19=0002_0000 sllv $20,$19,$7; #$20=8000_0000 add $21,$20,$1; #$21=7FFF_FFFF or $22,$18,$21; #$22=7FFF_FFFF add $23,$20,$22; #$23=FFFF_FFFF sub $24,$20,$22; #$24=0000_0001 sub $25,$22,$20; #$25=FFFF_FFFF xor $26,$18,$1; #$26=8FFF_FFFF sltu $27,$2
6、2,$20; #$27=0000_0001 sltu $28,$26,$20; #$28=0000_0000 add $29,$22,$2; #$29=8000_0000sub $30,$20,$2; #$30=7FFF_FFFF add $31,$11,$26; #$30=9000_6FF1一、结果0x0xb,0x,0x,0x,0x00a33020,0x,0x00a64820,0x,0x,0x,0x,0x00e86022,0x012c6824,0x012c7025,0x00c77825,0x00c78027,0x00e38820,0x,0x,0x00
7、f3a004,0x0281a820,0x0255b025,0x0296b820,0x0296c022,0x02d4c822,0x0241d026,0x02d4d82b,0x0354e02b,0x02c2e820,0x0282f022,0x017af820,思考题:实验结果记录表:寄存器内容寄存器内容寄存器内容$00x00000000$110x0000_6FF2$220x7000_0000$10xFFFF_FFFF$120xFFFF_900E$230xF000_0000$20x0000_0001$130xFFFF_800E$240x00000000$30x0
8、000_0002$140xFFFF_9FFF$250x000000