實验二基础汇编语言程序设计.doc
文本预览下载声明
TEC—2000教学计算机16位机实验指导
TEC-2000教学计算机的监控程序用TEC-2000汇编语言实现,其主要功能是支持把计算机终端或PC机仿真终端接入教学机系统,通过终端设备运行教学机的有关程序,以方便直观的形式支持教学机的各项实验,提供教学机汇编语言的可用子程序。进入监控程序的方法:
1)打开实验箱的盖子,确认教学机电源开关处于断开状态,然后接上电源线;
2)将通讯线的9芯插头接在教学机的串口“COM1”上,另一端接到PC机的串口,用PC机作为模拟终端;
3)将教学机的控制开关设置为00101(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”;打开电源开关,5V电源指示灯亮;
4)在PC机上运行PCEC16.EXE文件,根据所连接的PC机的串口,设置所用PC机的串口为“1”或“2”,其余的设置不用改动,直接回车即可。注意:PC机必须运行在DOS操作系统上,不能运行在Windows的命令行模式下;
5)按一下教学机的“RESET”键,再按一下“START”键后监控程序开始运行,同时主机显示以下的信息:
TEC-2000 CRT MONITOR
Version 2.0 2001.10
Computer Architectur Lab., Tsinghua University
Copyright Jason He
监控程序提供类似PC机DOS系统下的Debug程序的功能,支持A、U、G、P、T、R、D和E共8个监控命令。
监控命令的格式为:[监控命令] [地址/寄存器名参数]
监控命令为单字母(大小写均可),命令名后可跟一个地址参数,或寄存器编号参数。当命令名后无参数时,监控程序取默认的地址/寄存器编号参数值。TEC—2000机从终端接收地址、指令、数值时,均用16进制数(最多4位)输入与显示,并且不能用字符h加以标志。
1、单条汇编命令A
格式:A [adr]
[adr]表示地址参数,adr为任选项(选择范围为2000H—27FFH)。无此参数时,系统将取默认值。
功能:完成单条指令的汇编操作,把产生的执行代码放入对应的内存单元中。命令名后的地址是第一条汇编语句的执行码的内存单元地址。
若在输入汇编语句时,不给出汇编语句而直接回车,则结束A命令的运行过程。
若汇编中发现语法错误,用^指明出错位置,并要求重新给出正确语句。
注意:单条汇编功能并不很完善,尚不能支持语句标号,也不能使用伪指令等。遇到这些问题,需要直接使用机器码,并通过E命令将其送入相应内存单元。
2、反汇编命令U
格式:U [adr]
功能:每次从指定的(或默认的)地址反汇编15条命令,并将结果显示在终端屏幕上。反汇编完成之后,已将该命令的默认地址修改好。接下来再键入不带参数的U命令,接着从上一次反汇编的最后一条语句之后继续反汇编。
3、执行程序命令G
格式:G [adr]
功能:从指定的(或默认的)地址连续运行一个用户程序。为了使程序执行后能返回监控程序,要求每个程序的最后一条指令应为RET指令。
4、单指令执行程序命令T和P
格式:P [adr]
T [adr]
功能:从指定地址(或PC中的当前地址)开始单条执行程序指令。通常情况下,每按一次T或P将执行一条指令。T和P命令的区别是,T总是执行单条指令,但执行P命令时,则把每一个CALL语句(即连同被调用的子程序)一次执行完成。执行后显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。由于P和T命令是通过设置断点来实现的,而在ROM区不能设置断点,故不能用它们来执行固化在ROM区中的监控程序。
⑸ 显示/修改寄存器内容命令R
格式:R [reg]
其中reg为寄存器名R0—R15或SP(R4),PC(R5),IP(R6)。当R命令不带带寄存器名时,显示全部寄存器(包括SP,PC和IP)及状态寄存器的值,并反汇编当前PC所指的一条指令。其中状态的显示格式为:“F = 8位二进制数”,其各位的值分别对应于C、Z、V、S,INTE、P2、P1、P0的值,当R命令带有寄存器名时,先显示出该寄存器的值,若修改寄存器的值则打入新值回车,否则只按回车即可。
6、显示存储器内容的命令D
格式:D [adr]
功能:从指定(或默认)地址开始显示内存120个存储字的内容。
显示的格式:最左一列4位的16进制数是本行中第一个字的地址,接下来的8列是4位的16进制的8个连续内存字的内容,最右一列是每个字节所对应的ASCⅡ字符。当其值不为可显示的ASCⅡ码值时,用“.”字符标记。
当连续使用不带adr参数的D命令时,将会从默认的地址值开始显示。
7、修改存储器内容命令E
格式:E [adr]
功能:从指定(或默认)地址逐字显示每个内存字的内容,并等待用户打入
显示全部