机器语言编程
任务一
二
- PC,IR 寄存器的作用。
PC:全称为computer counter, 即程序计数器,指示指令在存储器中的存放位置。
IR:全称为Instructinon register, 即指令寄存器,用来存放指令的,存放当前正在执行的指令,包括指令的操作码,地址码,地址信息。
- ACC 寄存器的全称与作用。
ACC: 全称即accumulator, 即累加器A,累加器A是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。
- 用“LOD #3”指令的执行过程,解释Fetch-Execute周期。
(1) PC指针从RAM中读取到”LOD #3”指令。
(2) 将指令传入Decoder,并根据读取的指令格式进行译码。
(3) 数字3经过MUX后传入ALU进行计算.
(4) 将ALU的计算结果送入ACC。
- 用“ADD W” 指令的执行过程,解释Fetch-Execute周期。
(1) PC指针从RAM中读取到“ADD W”的指令
(2) 将指令传入Decoder,并根据读取的指令格式进行译码。
(3) 将ACC的值与RAM中W的值传入ALU,进行计算。
(4) 将计算结果送入ACC。
- “LOD #3” 与 “ADD W” 指令的执行在Fetch-Execute周期级别,有什么不同。
“LOD #3” 只访问了一次RAM,而 “ADD W” 有两次。
三
- 写出指令 “LOD #7” 的二进制形式,按指令结构,解释每部分的含义。
00010100 00000111
前八位是命令指示,后八位是操作数,其中第四位为寻址方式,五到八为为操作码
- 解释 RAM 的地址。
用于暂时存储程序与数据。
- 该机器CPU是几位的?(按累加器的位数)
16位
- 写出该程序对应的 C语言表达。
int w = 3;
int x = 7;
int z = x + w;
任务二
一
- 用一句话总结程序的功能
X从3开始减一,直到X=0
- 写出对应的 c 语言程序
int x = 3;
for (;x!=0;x–) ;
二
- 写出 c 语言的计算过程
int x, y = 0;
for(x=10;x!=0;x–)
y += x;
- 写出机器语言的计算过程
00010100 00001010
00000101 10000001
00010001 00000001
00000101 10000000
00000000 10000001
00000101 10000000
00000100 10000000
00001101 00010010
00001100 00000100
00000101 10000010
00001111 00000000
- 用自己的语言,简单总结高级语言与机器语言的区别与联系。
联系:高级语言是高度概括的机器语言,经过编译后仍可成为机器语言。
区别:高级语言更容易被人看懂,而机器语言是给机器看的,不易被人看懂。