微机原理实验指导书.docx

上传人:b****6 文档编号:6027412 上传时间:2023-01-03 格式:DOCX 页数:99 大小:1.31MB
下载 相关 举报
微机原理实验指导书.docx_第1页
第1页 / 共99页
微机原理实验指导书.docx_第2页
第2页 / 共99页
微机原理实验指导书.docx_第3页
第3页 / 共99页
微机原理实验指导书.docx_第4页
第4页 / 共99页
微机原理实验指导书.docx_第5页
第5页 / 共99页
点击查看更多>>
下载资源
资源描述

微机原理实验指导书.docx

《微机原理实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书.docx(99页珍藏版)》请在冰豆网上搜索。

微机原理实验指导书.docx

微机原理实验指导书

汇编语言部分实验

实验一TurboDebug使用简介

着重介绍如何使用集成环境TurboDebug来对程序进行调试。

◆TD的命令行格式

TD.EXE程序是DOS应用程序,用命令行方式运行,TD的DOS命令行格式为:

TD[option][program_name[program_args]]

[]中的内容表示可选项,可有可无,根据具体情况选择。

[option]可以是下面任意一项或几项的组合,视具体调试要求而定;program_name是待调试的文件,默认的后缀名是.EXE。

program_args是待调试程序所需的入口参数。

注意option中的命令只能放在调试程序名的前面,即program_name的前面。

TD命令选项参数包括一个连字符“-”,后面跟一个或多个字母及一个文字或数字变量。

TD命令由配置文件的默认设置。

要使配置文件中对TD命令的设置无效,需在命令后再加一个连字符“-”。

如:

td-c-myproarg1arg2。

各选项功能如表1-1所示。

表1-1TD选项功能表

选项

功能

备注

-c

使用配置文件

-do,-dp,-ds

屏幕更新:

do=另外显示,dp=翻页,ds=屏幕切换

-h,-?

显示帮助信息屏

-i

允许处理本身的转换

-k

允许击键记录

-l

汇编程序启动,并显示汇编命令,但是不对起始命令进行编译。

-m<#>

设置堆栈段大小,#应该是具体数字,如<8>表示堆栈段为8K字节

-p

鼠标支持

-r

使用串行口远程调试,低速

-rn

用本地计算机L和远程的计算机R通过网络调试

-rp<#>

为远程连接设置串行通信口COM#,#应该是1或2。

-rs<#>

远程连接通信速度:

1=最慢速,2=慢速,3=中速,4=快速

-sc

禁止检查标识符

-sd

源文件目录<列表>

-sm<#>

设置备用标识符存储空间大小,#应该是具体数字表示#K字节(最大256KB),如<8>表示备用标识符存储空间为8K字节

-vg

全屏幕保存

-vn

43/50行显示选项禁止

-vp

允许EGA/VGA调色板设置参数保存

-w

调试远程的Windows程序(必须同时使用-r)

-y<#>

用#KB(千字节)设置覆盖区域空间大小

-ye<#>

用16KB/页为单位来设置扩展内存覆盖区域空间大小,#应该是具体数字

待调试的文件名是填写被调试的可执行程序名,该程序名同样可带可不带,因为在TD环境中有打开一个调试文件的菜单对话框,通过这个对话框来选择被调试的程序(详见TD的菜单功能介绍)。

如果待调试的程序名exp0.exe,表示你所编写的源程序exp0.asm经过汇编、连接后产生的可执行程序,命令行格式为:

tdexp0.exe,其中表示回车键。

如果exp0.exe不与TD.exe在同一文件夹中,则根据当前路径书写,当前路径在td.exe,如果exp0.exe在E:

\MYFILE文件夹中,则命令行格式为tde:

\myfile\exp0.exe;当前路径在exp0.exe,如果td.exe在E:

\BC\BIN文件夹中,则命令行格式为e:

\bc\bin\tdexp0.exe。

或者用PATH命令设置路径随便在哪个路径下可运行,具体参看实验四。

可执行程序附带参数要根据你设计的程序需要与否来填写,例如Win2000中有一个目录树显示文件(假设Win2000安装在C盘),调试该程序可以使用如下方式:

1)不带参数为tdc:

\winnt\system32\表示调试tree程序,结果仅为目录数,按ASCII字符及图形来显示;

2)带/f为tdc:

\winnt\system32\/f表示调试tree程序,结果不仅有目录树,并且还包括目录下的文件,按ASCII字符及图形来显示;

3)带/a为tdc:

\winnt\system32\/a表示调试tree程序,结果仅为目录数,按ASCII字符及扩展字符来显示;

4)带/f/a为tdc:

\winnt\system32\/f/a表示调试tree程序,不仅有目录树,并且还包括目录下的文件,按ASCII字符及扩展字符来显示;

5)带/?

为tdc:

\winnt\system32\/?

帮助信息显示在屏幕上。

◆运行TD的方法

运行TD的方法主要介绍2种,具体方法如下:

1、WINDOWS下操作系统启动方法

目前通用微机普遍采用WINDOWS系列操作系统,如Win9x、Win2000、WinXP、WinME、NT等,以Win2000为例,首先打开存有TD.EXE的文件夹,如e:

\bc\bin文件夹中有TD.EXE,打开本地磁盘(E:

)中的BC文件夹下的BIN文件夹,找到TD.EXE点击鼠标右键并且移动鼠标到属性(R)再击左键,弹出TD属性中的常规窗,鼠标点击得到图1-1所示的程序对话框。

图1-1所示的命令行(L)表示运行该程序及其所在路径,可以按要求在其后加选择项、被调试程序文件名及其所需的附带参数,例如E:

\BC\BIN\TD.EXEEXP0.EXE表示运行TD调试缺省路径文件夹的exp0.exe程序。

由于TD是DOS程序,故要求各级路径及被调试程序文件名均不超过8个ASCII字符,最好不带汉字及全角的字符。

工作目录(W)表示进入TD调试环境后的缺省路径,如果你的实验程序放在E:

\MYFILE文件夹中,可以填写E:

\MYFILE,则进入TD调试环境后的缺省路径为E:

\MYFILE,如果不填写任何内容,表示E:

\BC\BIN就是缺省路径。

如果鼠标点击屏幕将得到图1-2所示的屏幕对话框。

我们仅关注用法一拦,该拦可选全屏幕(F)或窗口(W),其中全屏幕(F)表示DOS的全屏幕方式显示TD调试环境,是字符环境,除了支持键盘操作,还支持DOS字符方式的鼠标功能,窗口(W)表示Win2000窗口下显示TD调试环境,该环境为图形方式,仅支持键盘操作,不支持鼠标功能。

建议大家选择全屏幕(F)以便操作。

TD属性设置好后即可在Win2000对TD.EXE文件双击,从而TD得到运行。

图1-1TD属性中程序对话框图1-2TD属性中屏幕对话框

2、操作系统为DOS环境的TD运行方法

进入DOS操作系统的方法如1-3所示。

进入DOS操作系统后,如果你要调试的程序是exp0.exe,存放在E:

\MYFILE文件夹中,则按如下方式操作:

1)e:

2)cd\

3)cdmyfile

4)E:

\BC\BIN\TDEXP0.EXE

其中,大小写无所谓,第4行表示运行E:

\BC\BIN文件夹中TD.EXE调试程序,对EXP0.EXE进行调试。

◆TD的基本使用

TurboDebug是Borland公司推出的一个集成调试软件,可以调试DOS和Windows程序。

比起更传统的debug,它的功能强大,使用方便。

如果只要调试DOS程序,仅需要TD.EXE一个文件(476K)即可。

图13是TurboDebug的界面。

它的CPU窗包括代码段子视窗、寄存器子视窗、标志位子视窗、堆栈段子视窗和数据段子视窗。

屏幕顶部显示的是菜单条,为了从菜单条处下拉出一个菜单,一般可以直接用鼠标点击菜单(注意Win操作系统的窗口显示时不支持鼠标操作),或者要先按F10功能键、后再用←或→键使想要的选项变为高亮、最后按ENTER键即可。

另一种方法是按住Alt+菜单名称的第一个字母组合键。

TD除了键盘操作外,我们还可以很容易地通过鼠标对界面进行操作。

例如要修改窗口外观的大小,我们可以按ALT+O,打开菜单中的Option项(图1-4),从中选取Displayoptions来打开一个对话框(图1-5)。

也可以直接用鼠标点击菜单上的Options项后得到。

图1-5的对话框允许我们修改窗口的大小,通过改变ScreenLines的值。

图1-4Option菜单

图1-5Displayoptions对话框

F5快捷键是TD菜单中windows下拉菜单的Zoom来把视窗窗在最大化和最小化间切换的键,也可以直接用鼠标点住窗口右下角并拖动到理想的位置(图1-6)。

图1-6拖动右下角改变窗口大小

TD还有一个优势就是它的状态行提示的快捷键。

屏幕底部的状态行显示的是相关的功能键及其用途,如图1-7所示。

图1-7状态行提示

状态行的内容会随用户输入的不同而发生变化(例如菜单发生变化、命令对话框的变化等)。

若按住Alt一会儿,可以发现状态行的内容改变为用户可用Alt键获取的功能键信息。

按住Ctrl一会儿,状态行显示的命令是当前视窗窗口部分所对应的局部菜单命令(LOCALMENUCOMMAND)的热键。

它们随用户所在的窗口类型和所在视窗不同而发生变化。

一旦进入菜单系统,状态行将再次改变为显示当前高亮度菜单选择的功能。

用ESC键可以离开菜单系统。

◆TD的菜单功能介绍

一.系统菜单

菜单命令

使用说明

快捷键

Repaintdesktop

重新显示整个屏幕

Restorestandard

恢复标准的windows设置

About…

获取TurboDebugger的信息

二.File菜单

菜单命令

使用说明

快捷键

Open…

打开一个要调试的新程序

Changedir…

改变缺省工作路径

Getinfo…

显示调试程序的当前信息

Dosshell

运行DOS命令处理机

Resident

终止TD并驻留内存

Symbolload…

加载一个新的符号表

Tablerelocate

符号表指定新的段基地址

Quit

退出TurboDebugger

Alt-X

三.Edit菜单

菜单命令

使用说明

快捷键

Copy

复制项目

Shift-F3

Paste

粘贴项目

Shift-F4

Copytolog

将项目复制入日志文件中

Dumppanetolog

将当前窗转入日志文件中

四.View菜单

菜单命令

使用说明

快捷键

Breakpoints

打开断点窗

Stack

打开堆栈窗

Log

打开日志窗

Watches

打开监视窗

Variables

打开变量窗

Module…

打开模块窗

F3

File…

打开文件窗

CPU

打开CPU窗

Dump

打开转储窗口

Registers

打开CPU寄存器窗

Numericprocessor

打开数字协处理器窗

Executionhistory

打开执行任务历史窗

Hierarchy

打开类的分层窗

Windowsmessages

打开Windows消息窗

Clipboard

打开粘贴板窗

Another

Module…

打开另模块窗

Dump

打开另转储窗口

File…

打开另文件窗口

五.Run菜单

菜单命令

使用说明

快捷键

Run

全速运行

F9

Gotocurse

运行到光标处停止

F4

Traceinto

一条一条跟踪运行程序指令

F7

Stepovrer

跳过指令

F8

Executeto…

执行到指定的指令代码处

Alt-F9

Untilreturn

一直运行直到返回

Alt-F8

Animate…

以动画方式运行程序

Backtrace

向后跟踪

Alt-F4

Istructiontrace

指令跟踪

Alt-F7

Arguments…

参数

Programreset

程序复位

Ctrl-F2

Run部分二级菜单

1.Executeto…

显示信息说明

在空格中输入要执行停止的指令地址,点击OK确定,Clip…从粘贴板粘贴指令地址,Cancel取消,Help获取帮助信息

2.Animate…

显示信息说明

在空格中输入10倍的动画间隔时间(单位:

秒),点击OK确定,Clip…从粘贴板粘贴时间,Cancel取消,Help获取帮助信息

3.Arguments

显示信息说明

在空格中输入命令行参数,点击OK确定,Clip…从粘贴板粘贴命令行参数,Cancel取消,Help获取帮助信息

六.Breakpoints菜单

菜单命令

使用说明

快捷键

Toggle

切换

F2

At

设置断点地址

Alt-F2

Changedmemoryglobal

改变全局断点地址

Expressioontrueglobal

全局条件表达式

Hardwarebreakpoint

硬件断点

Deleteall

删除全部

七.Data菜单

菜单命令

使用说明

快捷键

Inspect..

检查

Evaluate/modify…

评价或修改

Ctrl-F4

Addwatch…

增加监视

Ctrl-F7

Functionreturn

函数返回

八.Options菜单

菜单命令

使用说明

快捷键

Language…source

语言来源

Macros

宏指令

Displayoptions…

显示选择

Pathforsource…

源程序路径

Saveoptions…

存储选择

Restoreoptions…

恢复选择

Options的部分二级菜单

1.Language…source

显示信息说明

Source表示源程序,C,Pascal,Assembler分别表示C,Pascal和汇编程序,选中一项,点击OK确定,Cancel取消,Help获取帮助信息

2.Displayoptions...

显示信息说明

Displayswapping表示显示切换,在其下面选中一项,None,Smart和Always分别表示不显示切换,快速显示切换和总是显示切换。

Integerformat表示整形格式,在其下面选中一项,Hex,Decimal和Both分别表示十六进制,十进制和两者均可。

Screenlines表示屏幕行,可选择。

Tabsize表示制表键跳格数,可修改其值。

点击OK确定,Cancel取消,Help获取帮助信息

3.Pathforsource…

显示信息说明

在空格中输入源程序目录路径,点击OK确定,Clip…从粘贴板粘贴源程序目录路径,Cancel取消,Help获取帮助信息

4.Saveoptions…

显示信息说明

在Saveto下的空格中输入要存储的文件路径名。

Options,Layout,Macros分别表示选项,布局和宏指令,可选择。

点击OK确定,Cancel取消,Help获取帮助信息

5.Restoreoptions…

显示信息说明

在Filename空格中输入要恢复的文件名,Files和Directories下面空框中分别显示文件名和文件目录。

点击OK确定,Cancel取消,Help获取帮助信息

九.Window菜单

菜单命令

使用说明

快捷键

Zoom

缩放窗口

F5

Next

下一窗口

F6

Nextpane

下一窗格

Tab

Size/move

窗口大小/移动窗口

Ctrl-F5

Iconize/restore

图标化/恢复窗口

Close

关闭窗口

Alt-F3

Undoclose

撤消关闭窗口命令

Alt-F6

Userscreen

显示用户屏幕

Alt-F5

1CPU

显示CPU窗口

十.Help菜单

菜单命令

使用说明

快捷键

Contents

帮助内容

Index

索引

Shift+F1

Topicsearch

主题搜索

Ctrl+F1

Prioustopic

前一主题

Alt+F1

Helponhelp

外来帮助

Activefile…

现用文件

About…

有关本软件的版本信息说明

◆TD调试举例

由于我们只要求学生掌握TD对汇编程序的调试方法,这里我们将一个典型的十进制加法为例,介绍使用TD对程序进行调试的过程。

这个程序是要将两个5位十进制数相加,要求两个数均以ASCII码形式各自顺序放在以DATA1和DATA2为首的5个单元中(低位在前),结果送回DATA1处,并调用2号系统功能调用显示结果。

我们先用记事本或EDIT编辑器或其他编辑软件输入源程序,并存储为MYPRO.ASM。

DATASEGMENT

DATA1DB'98765';设置数据段的内容,在数据段的起始位置

ORG0010H;和偏移0010H的地方分别放入字符

DATA2DB'96333';‘98765’和‘96333’

DATAENDS;98765+33396=90158

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA;设置段地址,把数据段地址赋给DS

MOVDS,AX

MOVDI,OFFSETDATA1;DATA1的偏移量赋给DI

MOVSI,OFFSETDATA2;DATA2的偏移量赋给SI

MOVCX,5;循环5次,给CX赋值5

CLC;清零进位标志

LO1:

MOVAL,[DI];把DATA1中的值循环赋给AL

;DATA2中的值与DATA1中的值一一对应相加,并加进位标志中的值,和放到AL中。

;然后对AL进行非压缩BCD码加法调整得到对应的非压缩BCD码,按顺序放入DATA1中。

;SI,DI自加1后继续循环直到CX-1=0。

ADCAL,[SI]

AAA

MOV[DI],AL

INCSI

INCDI

LOOPLO1

MOVCX,05H

DISP:

MOVAH,02H;调用2号系统功能调用,显示结果

MOVDL,[DI]

ORDL,30H

INT21H

DECDI

LOOPDISP

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

按实验五或六介绍的四个步骤先完成前三步。

生成了可执行程序MYPRO.EXE,就可以用TD来调试了。

1.调入需要调试的程序。

要调试这个程序,首先要打开并装入被调试的程序,选择File菜单里的Open项,即可弹出图1-8所示的加载调试程序选择窗,选择MYPRO.EXE文件即可装入。

装入后

代码部分可在CPU窗的代码段子视窗看到机器代码及相应的汇编语句(图1-9),数据部分会在数据段子窗口看到(实际见到的是程序段前缀PSP——256字节,真正数据段在PSP后)。

同时可以看到寄存器,标志位和堆栈段子窗口。

代码窗口的小箭头指向的就是下一条要执行的命令行。

选择Run菜单里的Trace项或按快捷键F7即可进行跟踪运行(图1-10)直到

LO1:

MOVAL,[DI]

单步运行期间可以查看寄存器、标志位和数据段内容的变化。

2.打开一个窗口,观察的相应的数据段。

要查看数据段(或其他段)的数据,可以选择View菜单里的Dump项,可弹出Dump窗口(图1-11).我们可以通过快捷键F6在Dump窗口和主窗口间切换,还可以使用Ctrl+F5,配合上下左右键来调整Dump窗口的位置。

(注意数据段的数据只有在程序运行时才会导入并被看到。

可以通过设置段基址查看其他段的数据,只要在Dump窗口下按住Ctrl+G就可以打开一个对话框,并设置希望观察的数据段地址。

这里我们键入DS:

0000,因为我们的数据都

被保存在DS:

0000到DS:

001F的范围内。

可以看到我们在数据段定义的两个字符串以ASCII码的形式放在DS:

0000-DS:

0004和DS:

00010-DS:

0014。

3.利用断点执行一个程序段。

为了观察循环的执行情况,先我们设置一个断点。

用鼠标或者↑和↓键把滚动条移动到想要设置为断点的那条语句,这里我们移到循环结束LOOP000F。

然后选择菜单View下的Breakpoint,会弹出一个如图1-12的对话框窗口,在窗口左边一栏里点击鼠标右键(或按Ctrl+A),选中弹出菜单中的Add。

,在Address栏里填写断点地址CS:

0018,就可以设置一个断点,按OK确定。

这时可以发现CS:

0018对应的这条指令的颜色改变。

运行菜单Run下的Gotothecurse(或按F4键),程序直接执行到断点处。

可以用在图1-12的左边窗口按Ctrl+R删除断点。

另一种执行一段程序的方法是用菜单Run下的Excuteto(或按Atl+F9键)直接执行

到断点地址。

如图1-13。

程序执行到断点后,注意此时的CX值(),再按一次F7使程序回到循环初始LO1:

MOVAL,[DI],记下此时CX和AX的值、DI的值及其对应的数据段中的内容。

重复F4和F7的操作,观察IP的变化,并记录每次F7执行后CX和AX的值、DI的值及其对应的数据段中的内容,把两个5位十进制数相加程序中循环部分运行结果填入表1-2。

表1-2两个5位十进制数相加程序中循环部分运行结果

循环次数

R/M

1

2

3

4

5

AX

CX

DI

DS:

DI

 

实验二DOS环境下常用命令及DEBUG使用方法

实验目的:

熟悉DOS环境下常用的命令以及DEBUG调试工具的基本使用方法,为以后的实验打下基础。

实验器材:

计算机一台,DEBUG调试工具

实验内容及步骤:

1、进入DOS环境:

WIN98/95/ME:

●开机—Windows—开始—程序—MSDOS方式。

●开机—Windows—开始—运行—COMMAND—MSDOS方式。

●开机—F8或Ctrl—启动菜单—选第5项—纯MSDOS。

WIN2K/XP/2003:

●开机—Windows—开始—运行—COMMAND—MSDOS西文方式。

●开机—Windows—开始—运行—CMD—MSDOS中文方式。

2、DIR[盘符][路径][文件名][/S][/P][/A]

显示文件目录,可用于查找文件(内部命令)

   省略盘符为当前盘,省略路径为当前路径,省略文件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1