欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编实验报告

程序员文章站 2024-03-23 22:18:40
...

汇编实验报告
汇编实验报告

实验目标 :

1. 了解并懂得初步使用汇编语言
2. 了解 CPU 中各组件的作用
3. 通过比较,得出高级语言与机器语言的联系与区别

任务 1
汇编实验报告
(2)1.PC,IR 寄存器的作用

PC: PC是专门用于在CPU取指令期间寻址程序存储器。PC总是保存着下一条要执行的指令的16位地址。
IR:1.用来存放后续指令地址
2.保存当前正在执行的一条指令
3.保存将被存储的下一个数据字节的地址
4.保存当前CPU所访问的主存单元的地址

2. ACC 寄存器的全称与作用

全称:Accumulator(累加器)
作用:主要用于完成数据的算术和逻辑运算,可以存放数据或中间结果。

3. 用“LOD #3”指令的执行过程,解释Fetch-Execute周期

(1)PC 根据地址从RAM取出指令LOD #3
(2)指令传入IR,指令传入Decoder,无需取址,数字3传入MUX
(3)数字3传入ALU之后传入ACC

4. 用“ADD W” 指令的执行过程,解释Fetch-Execute周期

(1)PC根据地址从RAM取出指令ADD W
(2)指令传入IR之后传入Decoder
(3)ALU从ACC中取值
(4)IR再次访问RAM中的W,从W中取值
(5)W的值读入ALU
(6)ALU执行加法,结果传入ACC

5. “LOD #3” 与 “ADD W” 指令的执行在Fetch-Execute周期级别,有什么不同

LOD #3只需访问RAM一次,而ADD W需要两次访问RAM

(3)1. 写出指令 “LOD #7” 的二进制形式,按指令结构,解释每部分的含义

00010100 00000111
一个为步骤,另一个为操作数

2. 解释 RAM 的地址

只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失
3. 该机器CPU是几位的?(按累加器的位数)

16位

4. 写出该程序对应的 C语言表达

int w = 3;
int x = 7;
int z = x + w; 

任务2
汇编实验报告
(1)1.用一句话总结程序的功能

使 x 从 10 不断减一,直到 x < 0.

2.写出对应的 c 语言程序

int x = 10;
while (x >= 0){
–x;
}

(2)1.写出 c 语言的计算过程

int x = 10;
int w = 0;
while(x > 0){
w += x;
- -x;
}
int y = w;
2.写出机器语言的计算过程

0000000 00010100 00001010
0000010 00000101 10000001
0000100 00010001 00000001
0000110 00000101 10000000
0001000 00000000 10000001
0001010 00000101 10000000
0001100 00000100 10000000
0001110 00001101 00010010
0010000 00001100 00000100
0010010 00000101 10000010
0010100 00001111 00000000
0010110 00001110 00000000
1000000 00000000
1000001 00000000
1000010 00000000
3.用自己的语言,简单总结高级语言与机器语言的区别与联系

联系:高级语言经编译可变为机械语言,都可以实现顺序,选择和循环
区别:高级语言更接近人类语言,是给人看的 ; 机器语言是纯粹的二进制
数据,一般人看不懂(即是给机器看的,不是给人看的)

6

实验小结:

1.在对汇编语言的学习过程中,懂得了什么是汇编语言,机器语言,高级语言并知道 了他们之间的联系与区别
2.知道了什么是指令格式和指令周期
3.了解到 CPU 各组件的作用,与 CPU 的运算过程