微机原理实验报告Word文件下载.docx

上传人:b****2 文档编号:13653013 上传时间:2022-10-12 格式:DOCX 页数:10 大小:42.10KB
下载 相关 举报
微机原理实验报告Word文件下载.docx_第1页
第1页 / 共10页
微机原理实验报告Word文件下载.docx_第2页
第2页 / 共10页
微机原理实验报告Word文件下载.docx_第3页
第3页 / 共10页
微机原理实验报告Word文件下载.docx_第4页
第4页 / 共10页
微机原理实验报告Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

微机原理实验报告Word文件下载.docx

《微机原理实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

微机原理实验报告Word文件下载.docx

IntK,Y;

IntZ[50];

Y=56;

For(k=0;

k<

50;

K++)Z[k]=Y-16*(k/4+210);

}

三、程序设计及分析

1.C语言分析:

有两个变量是int型,一个数组型;

还有一个循环执行过程。

2.汇编程序实现分析:

首先需要定义用户数据段,获得一个内存空间作为数组空间。

再选定几个寄存器作为K,Y以及输出,其中输出输出和Y可以合用一个寄存器。

3.设计思路:

分配完空间地址后,最重要的是完成循环控制。

循环控制有两个思路:

可以是先判断后循环;

或者是先循环后判断

即如图

开始

赋值

intK,Y;

intZ[50];

K=0;

Y=56;

计算

Z[K]=Y-16*(K/4+210);

K=k+1

K<

50

结束

slti$t2,$t0,50#判断k是否小于50,

beq$t2,$0,#是则结束

#否,循环

否是

slti$t2,$t0,50#判断k是否于50

beq$t2,$t3($t2=1循环,否则结束。

四、程序实现及调试分析

1.汇编程序代码实现:

方法一

.data#定义用户数据段

z:

.space200#数组为int型,大小为50,所以占内存4*50

str:

.asciiz"

"

#输出结果之间的空隙

.text

main:

la$s0,z#$s0#为数组在z[]

li$t0,0#$s1#代表k计数,初始值为0

li$t1,56#$t2#代表Y,初值为56

loop:

beq$t2,$0,done#当k大于等于50,跳转结束

srl$t3,$t0,2#k/4

addi$t3,$t3,210#k/4+210

sll$t3,$t3,4#16*(k/4+210)

sub$t3,$t1,$t3#y-16*(k/4+210)

sw$t3,0($s0)#写进z[k]

li$v0,1#输出

addi$a0,$s0,0

syscall

li$v0,4#输出间隔

la$a0,str

addi$s0,$s0,4#地址移一位

addi$t0,$t0,1#k加1

jloop#循环

done:

li$v0,10

2.调试过程

1.编写程序:

详细见代码

2.装载程序

选择file,选择ReinitializeandLoadFile,把写好的文件导入QtSpim。

3.如果没有错误,便运行。

点击上图的小三角

运行之后点击不同的窗口便可得到我们想要的结果。

具体详细结果如下图

内存占用情况映像

分析:

由图可知数组地址从0Xfffff318—0Xfffff258;

每行有四个是一样的,总共50个地址。

这是因为数组含有50个元素,而int型数据占4个字节空间,字对齐方式,所以连续四个地址是相同的

而且有上表也可以得出Qpstim仿真器是按大字节序

数据段内存映像

表格如下(数值都采用16进制)

内存地址(16进制)

变量名

fffff318

Z[0]

268500992

fffff2b8

Z[25]

268501092

Z[1]

268500996

Z[26]

268501096

Z[2]

268501000

Z[27]

268501100

Z[3]

268501004

fffff2a8

Z[28]

268501104

fffff308

Z[4]

268501008

Z[29]

268501108

Z[5]

268501012

Z[30]

268501112

Z[6]

268501016

Z[31]

268501116

Z[7]

268501020

fffff298

Z[32]

268501120

fffff2f8

Z[8]

268501024

Z[33]

268501124

Z[9]

268501028

Z[34]

268501128

Z[10]

268501032

Z[35]

268501132

Z[11]

268501036

fffff288

Z[36]

268501136

fffff2e8

Z[12]

268501040

Z[37]

268501140

Z[13]

268501044

Z[38]

268501144

Z[14]

268501048

Z[39]

268501148

Z[15]

268501052

fffff278

Z[40]

268501152

fffff2d8

Z[16]

268501056

Z[41]

268501156

Z[17]

268501060

Z[42]

268501160

Z[18]

268501064

Z[43]

268501164

Z[19]

268501068

fffff268

Z[44]

268501168

fffff2c8

Z[20]

268501072

Z[45]

268501172

Z[21]

268501076

Z[46]

268501176

Z[22]

268501080

Z[47]

268501180

Z[23]

268501084

fffff258

Z[48]

268501184

Z[24]

268501088

Z[49]

268501188

点击Window选择console得下图

运行结果显示

代码段内存映像

地址机器码汇编指令

[00400014]0c100009 

jal0x00400024[main] 

[00400018]00000000 

nop 

[0040001c]3402000a 

ori$2,$0,10 

[00400020]0000000c 

syscall 

[00400024]3c101001 

lui$16,4097[z] 

[00400028]34080000 

ori$8,$0,0 

[0040002c]34090038 

ori$9,$0,56 

[00400030]290a0032 

slti$10,$8,50 

[00400034]11400010 

beq$10,$0,64[done-0x00400034]

[00400038]00085882 

srl$11,$8,2 

[0040003c]216b00d2 

addi$11,$11,210 

[00400040]000b5900 

sll$11,$11,4 

[00400044]012b5822 

sub$11,$9,$11 

[00400048]ae0b0000 

sw$11,0($16) 

[0040004c]34020001 

ori$2,$0,1 

[00400050]22040000 

addi$4,$16,0 

[00400054]0000000c 

[00400058]34020004 

ori$2,$0,4 

[0040005c]3c011001 

lui$1,4097[str] 

[00400060]342400c8 

ori$4,$1,200[str] 

[00400064]0000000c 

syscall 

[00400068]22100004 

addi$16,$16,4 

[0040006c]21080001 

addi$8,$8,1 

[00400070]0810000c 

j0x00400030[loop] 

[00400074]3402000a 

 

[00400078]0000000c 

[80000180]0001d821 

addu$27,$0,$1 

[80000184]3c019000 

lui$1,-28672 

[80000188]ac220200 

sw$2,512($1) 

[8000018c]3c019000 

[80000190]ac240204 

sw$4,516($1) 

[80000194]401a6800 

mfc0$26,$13 

[80000198]001a2082 

srl$4,$26,2 

[8000019c]3084001f 

andi$4,$4,31 

[80

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1