《实验3汇编语言程序设计.docx
文本预览下载声明
实验三:16位机的汇编语言程序设计一 实验目的(1) 熟悉监控命令A,D,E,G,R,T,U的使用;(2) 熟悉16位机的29条汇编指令,理解每条汇编指令执行的操作;(3) 能够利用仿真软件 TEC2000Sim提供的29条汇编指令编写简单的汇编程序设计。二 实验设备PC电脑一台;需安装软件TEC2000Sim。三 实验准备指令格式、寻址方式和指令系统是讲解、设计和实现控制器部件的基础,但讲解起来枯燥抽象,要让学生真正对这部分教学内容有适度了解和切身体会,开展汇编语言程序设计的实验是必要的,实验不太难,又能提高学生的学习兴趣,有利于加深对指令及指令系统的理解,有利于掌握教学计算机的使用,为开展后续其他教学实验项目做好必要准备。这项实验最好在16位字长的教学计算机上完成,也可以使用一个我们开发的、运行在PC机上的仿真软件TEC2000sim来进行。实验内容包括学习教学机的监控程序的使用方法,即如何通过7个监控命令A、U、E、D、R、G、T操作和运行教学计算机。A命令用于向计算机内输入汇编语言程序的源码,执行单个语句的汇编操作,并把汇编产生的指令代码程序保存到存储器的指定区域;U命令用于对已经保存在内存中的指令代码程序执行反汇编操作,反汇编的结果将被显示到仿真终端的屏幕上,供操作者检查看或修改。E命令用于向计算机的存储器输入16进制的信息或修改某些存储单元的内容;D命令用于卸出计算机的存储器中的信息并依规定格式显示到仿真终端的屏幕上;R命令用于显示或修改通用寄存器的内容;G命令用于启动内存中的一个指令代码程序,启动后程序连续运行,运行结束后将返回到监控程序的断点,继续运行监控程序;T命令也用于启动内存中的一个指令代码程序,但会使程序处于单指令运行状态,即每发一次T命令只执行用户程序的一个语句,之后就自动回到监控程序的运行状态,使操作者可以跟踪程序的运行过程,随时检查程序的运行结果。实验的重点内容是学习汇编语言程序设计。为此需要了解16位机提供的29条基本指令的格式及其功能,已经汇总给出在表-1中。对指令格式和寻址方式简介如下。指令分为单字指令和双字指令两种,指令操作码都是8位;运算器中包含16个通用寄存器,因此寄存器编号为4位,请注意,程序计数器PC和堆栈指针SP使用的分别是R5和R6寄存器,这2者不能作为通用寄存器使用;内存选用字寻址方式,地址总线和数据总线都确定为16位;转移指令使用相对寻址,偏移量是8位的补码,转移范围限制在-128到+127;输入输出指令默认使用寄存器R0,指令的操作数地址字段用于给出8位的IO端口地址,16进制的80访问输入/输出的数据缓冲寄存器,81访问接口中的命令或状态寄存器。在对指令系统和汇编语句初步有所了解的基础上,可以先从看懂教材上的几个例子程序入手,试着把它们输入到计算机中并运行汇编后的指令代码程序。(1) 输入汇编源程序(并同步完成汇编),通过反汇编检查自己的源程序,注意查看每条指令和相应汇编语句的对应关系;(2) 运行机器码程序并检查运行结果,明确键盘输入和屏幕输出的只能是字符类型的数据,理解使用IN和OUT指令完成输入输出操作过程中检查接口中的状态信息的必要性;(3) 通过监控命令或者自己写一个小程序读出指定内存区的存储内容,向指定的内存区写入一批数据;(4) 查看或修改通用寄存器的内容; (5) 使用T命令运行程序,查看每条指令的运行结果;(5) 在单步骤方式下运行程序,初步查看每条指令的每一个执行步骤的执行结果。(6) 还可以通过调用监控程序中的子程序初步了解汇编程序中系统调用的概念。表-1 16位机的29条基本指令的格式及其功能指令格式汇编语句操作数个数标志位C Z V S指令分类功能说DRSDRSDRSDRSDRSDRSDRSDRSDR000000001001 DR000000001010 DR000000001011 DR000001000001 OFFSEOFFSEOFFSEOFFSEOFFSETADD DR,SRSUB DR,SRAND DR,SRCMP DR,SRXOR DR,SRTEST DR,SROR DR,SRMVRR DR,SRDEC DRINC DRSHL DRSHR DRJR ADRJRC ADRJRNC ADRJRZ ADRJRNZ ADR22222222111111111****************************····*********···*··
显示全部