实验任务一:手动方式把立即数33H
写入内存D1H
单元
(1)实验步骤
-
注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
-
按
Reset
键初始化系统,并设置实验箱进入手动模式。 -
按照下表对实验箱线路进行连接:
连接 | 信号孔 | 接入孔 | 作用 | 有效电平 |
---|---|---|---|---|
1 | J2座 | J3座 | 将K23-K16接入DBUS[7:0] | |
2 | STEN | K15 | ST寄存器写允许 | 低电平有效 |
3 | X2 | K10 | 三位组合来译码选择将数据送到DBUS上的指定寄存器 | |
4 | X1 | K9 | ||
5 | X0 | K8 | ||
6 | IREN | K6 | IR,uPC写允许 | 低电平有效 |
7 | PCOE | K5 | PC输出地址 | 低电平有效 |
8 | MAROE | K4 | MAR输出地址 | 低电平有效 |
9 | MAREN | K3 | MAR写允许 | 低电平有效 |
10 | EMEN | K2 | 存储器与数据总线相连 | 低电平有效 |
11 | EMRD | K1 | 存储器读允许 | 低电平有效 |
12 | EMWR | K0 | 存储器写允许 | 低电平有效 |
-
先在
MAR
中设置存储器地址。将MAREN
设为允许写MAR
,而后用开关K23
~K16
,设置数值为D1H
,表示选择地址D1H
,最后按下STEP
键向DBUS
中写入数据D1H
。 -
将数据写入
EM
中。将MAR
设置为允许输出,并将EM
设为允许写,而后用开关K23
~K16
,设置数值为33H
后按STEP
键向DBUS
中写入数据33H
。 -
观察并记录实验现象。
(2)实验现象
MAR
寄存器显示D1H
,EM
寄存器显示33H
。
实验任务二:手动方式把D1H
单元的内容读出,再送入ST
单元
(1)实验步骤
- 保持实验任务一的接线,将
K10
-K8
全部置1
,使数据无法从K23
-K16
中输入。 - 将
MAR
设为允许输出,并将EM
设为允许读,按下STEP
键,观察ST
寄存器内容变化。
(2)实验现象
ST寄存器显示33H
。
实验任务三:在CP226
汇编语言程序集成开发环境下编写程序
通过调试和跟踪运行,将初始值05H
赋予累加器A
,每次减1
,到0
时,OUT
寄存器输出FFH
,期间注意观察数据走向及寄存器的输入输出状态。
(1)实验步骤
- 拔下实验箱上的接线,并将开关
K23
-K16
全部置0
,开关K15
-K0
全部置1
,按下Reset
键初始化系统。 - 打开电脑上的
CP226
软件,点击源程序编写如下代码:
- 将文件保存为
.asm
文件,并进行编译和下载。 - 通过单微指令运行文件,观察运行情况并记录实验结果。
(2)实验现象
初始情况下,累加器的值为05H
,随着程序的运行递减,当递减到0
时,OUT
寄存器输出FFH
。
(3)实验结论
- 通过设置地址寄存器
MAR
,以及指明EM
是读还是写,我们可以对MAR
中的地址进行读入和写出。 - 通过一系列正确的设计,我们成功地通过
CP226
软件完成了“将初始值05H
赋予累加器A
,每次减1
,到0
时,OUT
寄存器输出FFH
”操作功能的实现。