预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二基础汇编语言程序设计 实验目的: 1.学习和了解TEC-2000十六位机监控命令的用法; 2.学习和了解TEC-2000十六位机的指令系统; 3.学习简单的TEC-2000十六位机汇编程序设计; 实验内容: 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T命令单步运行并观察程序单步执行情况; 实验要求 在使用该教学机之前,应先熟悉其的各个组成部分,及使用方法。 实验步骤 1.关闭电源,将大板上的COM1口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“1”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为00101(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”; 4.按一下“RESET”按键,再按一下“START”按键,主机上显示: TEC-2000CRTMONITOR Version2.0April2001 ComputerArchitecturLab.,TsinghuaUniversity ProgrammedbyHeJia > 5.用R命令查看寄存器内容或修改寄存器的内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。 2)在命令行提示符状态下输入: RR0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示: 寄存器原值:_ 在该提示符下输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 6.用D命令显示存储器内容 在命令行提示符状态下输入: D2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。 7.用E命令修改存储器内容 在命令行提示符状态下输入: E2000↙ 屏幕显示: 2000地址单元的原有内容:光标闪烁等待输入输入0000 依次改变地址单元2001~2005的内容为:11112222333344445555 注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。 用D命令显示这几个单元的内容 D2000↙ 可以看到这六个地址单元的内容变为000011112222333344445555。 8.用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。 1)在命令行提示符状态下输入: A2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000:MVRDR0,AAAA;MVRD与R0之间有且只有一个空格,其他指令相同 2002:MVRDR1,5555 2004:ADDR0,R1 2005:ANDR0,R1 2006:RET;程序的最后一个语句,必须为RET指令 2007:(直接敲回车键,结束A命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 2)用U命令反汇编刚输入的程序在命令行提示符状态下输入: U2000↙ 在相应的地址会得到输入的指令及其操作码 注:连续使用不带参数的U命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。 3)用G命令运行前面刚键入源程序 G2000↙ 程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。 4)用P或T命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入: T2000↙ 寄存器R0被赋值为AAAAH T↙ 寄存器R1被赋值为5555H T↙ 做加法运算,和放在R0,R0的值变为FFFFH T↙ 做与运算,结果放在R0,R0的值变为5555H 用P命令执行过程同上。 注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。 7.举例编写汇编程序,用“A”命令输入,运行并观察结果 1)例子1:设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。 <1>在命令行提示符状态下输入: A2000↙; 屏幕将显示: 2000: 输入如下形式的程序: 2000:IN81;判键盘上是否按了一个键 2001:SHRR0;即串行口是否有了输入的字符 2002:SHRR0 2003:JRNC2000;未输入完则循环测试 200