计算机组成原理实验一:基础汇编语言程序设计实验
程序员文章站
2022-03-17 14:15:15
...
一、实验目的:
- 学习和了解TEC-XP+教学实验监控命令的用法;
- 学习和了解TEC-XP+教学实验系统的指令系统;
- 学习简单的TEC-XP+教学实验系统汇编程序设计。
二、验设备及器材:
- 工作良好的PC机;
- TEC-XP+教学实验系统和仿真终端软件PCEC。
三、实验说明和原理:
实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。
实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。
四、实验内容:
- 学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC;
- 学习使用WINDOWS界面的串口通讯软件;
- 使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;
- 使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
五、实验步骤:
一、实验具体操作步骤:
- 准备一台串口工作良好的PC机器;
- 将TEC-XP+放在实验台上,打开实验箱的盖子,确定电源处于断开状态;
- 将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里;
- 取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;
- 将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),
- 控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;
- 打开电源,船型开关盒5V电源指示灯亮;
- 在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可; (8)按一下"RESET"按键,再按一下"START"按键,主机上显示:
二、实验注意事项:
几种常见的工作方式(开关拨到上方表示为1,拨到下方为0)
工作方式 | 5个拨动开关 |
---|---|
连续运行程序、组合逻辑控制器、联机、16位机 | 00110 |
连续运行程序、微程序控制器、联机、16位机 | 00010 |
单步、手动置指令、组合逻辑控制器、联机、16位机 | 11110 |
单步、手动置指令、微程序控制器、联机、16位机 | 11010 |
16位机、脱机运算器实验 | 1XX00 |
三、仿真终端软件的操作成功运行PCEC16.EXE的界面
四、实验示例:
1.用R命令查看寄存器内容或修改寄存器的内容
1)在命令行提示符状态下输入:
R↙ ;显示寄存器的内容
注:寄存器的内容在运行程序或执行命令后会发生变化。
2)在命令行提示符状态下输入:
R R0↙ :修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可由一个或数个空格
主机显示:
寄存器原值:_
在该提示符下输入新的值0036
再用R命令显示寄存器的内容,则R0的内容变为0036。
测试结果如下图:
2.用命令修改存储器内容
在命令提示符状态下输入:
E2000↙
屏幕显示:
2000 地址单元的原有内容:光标闪烁等待输入
输入 0000
依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555
注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。
3.用A命令花不如一段汇编源程序,主要是想累加器送入数据和进行运算,执行程序并观察运行结果。
1)在命令行提示符状态下输入:
A 2000↙:表示该程序从2000H(内存RAM区的起始地址)地址开始
屏幕将显示:
2000:
输入如下形式的程序:
2000:MVRD R0,AAAA ;MVRD与R0之间有且只有一个空格,其他指令相同
2002:MVRD R1,5555
2004:ADD RO,R1
2005:AND R0,R1
2006:RET ;程序的最后一个语句,必须为RET指令
2007:(直接敲回车键,结束A命令输入程序的操作过程)
若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。
2)用U命令反汇编刚输入的程序
在命令行提示符状态下输入:
U 2000↙
在相应的地址会得到输入的指令及其操作码
注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。
3)用G命令运行前面键入的源程序
G 2000↙
程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。
4)用P或T命令,但不执行这段程序,观察指令执行结果
在命令行提示符状态下输入:
T 2000↙
寄存器R0被赋值为AAAAH
T↙
寄存器R1被赋值为5555H
T↙
做加法运算,和放在R0,R0 的值变为FFFFH
T↙
做与运算,结果放在R0,R0的值变为5555H
用P命令执行过程同上
注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序依次执行完成。T,P命令每次执行后均显示所由通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。
运行结果如下:
五、实验截图
例1:设计一个小程序,从键盘上接收一个字符并在屏幕上数出显示该字符。
例2:设计一个小程序,用次数控制在终端屏幕上输出’0’到’9’十个数字字符.
例3:从键盘上连续打入多个属于’0’到’9’的数字符并在屏幕上显示,遇到非数字字符结束输入过程.
例4:计算1到10的累加和.
例5:将被显示的6个字符’A’~'F’送入到内存20F0H开始的存储区域中。
例6:设计一个程序在显示屏包括空格字符)可打印字符上循环显示95个(.
六、实验心得
通过此次,熟悉了TEC-XP+教学系统的概况,懂得操作仿真终端软件PCEC以及WINDOWS界面的串口通讯软件,结合对汇编基本指令的学习,让我熟悉计组的实验工具和流程,为后续的实验打下基础。