《TD简要使用说明》PPT课件.ppt

上传人:汽*** 文档编号:572010174 上传时间:2024-08-12 格式:PPT 页数:45 大小:1.13MB
返回 下载 相关 举报
《TD简要使用说明》PPT课件.ppt_第1页
第1页 / 共45页
《TD简要使用说明》PPT课件.ppt_第2页
第2页 / 共45页
《TD简要使用说明》PPT课件.ppt_第3页
第3页 / 共45页
《TD简要使用说明》PPT课件.ppt_第4页
第4页 / 共45页
《TD简要使用说明》PPT课件.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《《TD简要使用说明》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《TD简要使用说明》PPT课件.ppt(45页珍藏版)》请在金锄头文库上搜索。

1、微机系统与接口微机系统与接口1目标代码动态调试目标代码动态调试TurboDebuggerTurboDebuggerTD.EXE(简称(简称TD)是一个具有窗口界面的程序调)是一个具有窗口界面的程序调试器试器,是是Borland公司产品公司产品TurobDebugger的的IA-16版本。利用版本。利用TD,用户能够调试已有的可执行程序,用户能够调试已有的可执行程序(后缀为(后缀为EXE);用户也可以在);用户也可以在TD中直接输入程中直接输入程序指令,编写简单的程序。序指令,编写简单的程序。一、一、如何启动如何启动TD二、二、TD中的数制中的数制三、三、TD的用户界面的用户界面四、代码区的操作

2、四、代码区的操作五、寄存器区和标志区的操作五、寄存器区和标志区的操作六、数据区的操作六、数据区的操作七、堆栈区的操作七、堆栈区的操作处理器认识处理器认识环境检查修改环境检查修改指令认识指令认识直接直接I/OI/O操作操作( (硬件调试硬件调试) )单步调试单步调试断点调试断点调试优点优点: :彩色彩色文本文本, ,占用资源不多占用资源不多缺点缺点: :不支持中断调试不支持中断调试微机系统与接口微机系统与接口2一、如何在一、如何在WindowsWindows环境下启动环境下启动TDTD在在WindowsWindows中启动中启动TDTD 仅启动仅启动TDTD而不载入要调试的程序而不载入要调试的程

3、序 双双击击TD.EXETD.EXE文文件件名名,WindowsWindows就就会会打打开开一一个个DOSDOS窗窗口口并并启启动动TDTD。启启动动TDTD后后会会显显示示一一个个版版权权对对话话框框,这这时按回车键即可关掉该对话框。时按回车键即可关掉该对话框。 启动启动TDTD并同时载入要调试的程序并同时载入要调试的程序 把把要要调调试试的的可可执执行行文文件件拖拖到到TD.EXETD.EXE文文件件名名上上,WindowsWindows就就会会打打开开一一个个DOSDOS窗窗口口并并启启动动TDTD,然然后后TDTD会会把该可执行文件自动载入内存供用户调试。把该可执行文件自动载入内存供

4、用户调试。若若建建立立可可执执行行文文件件时时未未生生成成符符号号名名表表,TD启启动动后后会会显显示示“Programhasnosymboltable”的的提提示示窗窗口口,这时按回车键即可关掉该窗口。这时按回车键即可关掉该窗口。( (可修改属性可修改属性) ) 微机系统与接口微机系统与接口3一、如何在一、如何在命命令行方式启动令行方式启动TDTD什么是命什么是命令行方式令行方式? ?(1)Windows(1)Windows下进入命令行方式下进入命令行方式/ /常用常用MS-DOSMS-DOS命令命令 Windows下下 利利 用用 开开 始始 运运 行行 (或或 按按 Win键键+R)输输

5、入入cmd或或command(Win2K) 或或在在程程序序下下进进入入MS-DOS方方式式(Win2K)或或附附件件下下(WinXP)进进入入命命令令提提示示符符进进入入命命令令行行方方式式。也也可可将将相相关关命命令令复复制制到到桌桌面。面。 可可以以根根据据爱爱好好和和需需要要修修改改MS-DOSMS-DOS方方式式或或命命令令提提示示符符的的相相关关属属性性,包包括括起起始始(工工作作)目目录录(路路径径)、快快捷捷键键(默默认认CTRL CTRL + + ALT ALT +D+D键键) )、窗窗口口/ /全全屏屏选选项项、前前景背景颜色等,景背景颜色等,微机系统与接口微机系统与接口4

6、命令行命令行快捷方快捷方式选择式选择微机系统与接口微机系统与接口5颜色颜色属性属性选择选择命令行样例模式微机系统与接口微机系统与接口6典型命典型命令行操令行操作作采用滚屏采用滚屏方式方式(ScreenUp)微机系统与接口微机系统与接口7一、如何启动一、如何启动TDTD在在命令行方式命令行方式- -DOSDOS窗口中启动窗口中启动TDTD 仅启动仅启动TDTD而不载入要调试的程序而不载入要调试的程序 D:ASMD:ASMTDTD 用用这这种种方方法法启启动动TDTD,TDTD会会显显示示一一个个版版权权对对话话框框,这时按回车键即可关掉该对话框。这时按回车键即可关掉该对话框。启动启动TDTD并同

7、时载入要调试的程序并同时载入要调试的程序 D:ASMD:ASMTD HELLO.EXETD HELLO.EXE 若若建建立立可可执执行行文文件件时时未未生生成成符符号号名名表表(带带源源代代码码调调试试),TDTD启启动动后后会会显显示示“Program Program has has no no symbol symbol tabletable”的的提提示示窗窗口口,这这时时按按回回车车键键即即可可关关掉掉该该窗窗口。口。微机系统与接口微机系统与接口8二、二、TDTD中的数制中的数制 TDTD支支持持各各种种进进位位记记数数制制,但但通通常常情情况况下下屏屏幕幕上上显显示示的的机机器器指指令

8、令码码、内内存存地地址址及及内内容容、寄寄存存器器的的内内容容等等均均按按十十六六进进制制显显示示(数数值值后后省省略略“H H”)。在在TDTD的的很很多多操操作作中中,需需要要用用户户输输入入一一些些数数据据、地地址址等等,在在输入时应遵循计算机中数的记数制标识规范。例如:输入时应遵循计算机中数的记数制标识规范。例如: 二进制数后面加二进制数后面加“B B”或或“b b”,如,如10010001b10010001b等;等; 十十六六进进制制数数后后面面加加“H H”或或“h h”,如如38h38h、0a5h0a5h、0ffh0ffh等。等。 TDTD允允许许在在常常数数前前面面加加上上正正

9、负负号号,遵遵循循补补码码格格式式。 所所有有的的实实验验在在输输入入程程序序或或数数据据时时,若若无无特特别别说说明明,都都可可按按十十六六进进制制数数进进行行输输入入,若若程程序序中中需需要要输输入入负负数,可按上述规则进行输入。数,可按上述规则进行输入。微机系统与接口微机系统与接口9三、三、TDTD的用户界面的用户界面CPUCPU窗窗口口 代码区代码区数据区数据区寄存器区寄存器区 堆栈区堆栈区 标志区标志区功能键提示条功能键提示条全局菜单全局菜单图图3.1 TD3.1 TD的的CPUCPU窗口界面窗口界面微机系统与接口微机系统与接口10三、三、TDTD的用户界面的用户界面CPUCPU窗窗

10、口口 功能作用:功能作用:-代码动态调试代码动态调试显示显示CPUCPU和内存整个状态;和内存整个状态;在在代代码码区区内内使使用用嵌嵌入入汇汇编编,输输入入指指令令或或对对程程序序进进行行临时性修改。临时性修改。存存取取数数据据区区中中任任何何数数据据结结构构下下的的字字节节,并并以以多多种种格格式显示或改变它们。式显示或改变它们。检查和改变寄存器(包括标志寄存器)的内容。检查和改变寄存器(包括标志寄存器)的内容。五个区域:代码、寄存器、标志、数据和堆栈区。五个区域:代码、寄存器、标志、数据和堆栈区。 光光标标所所在在区区域域称称为为当当前前区区域域,用用户户可可以以使使用用TabTab键键

11、或或Shift-TabShift-Tab键键切切换换当当前前区区域域,也也可可以以在在相相应应区区中中单击鼠标左键选中某区为当前区。单击鼠标左键选中某区为当前区。微机系统与接口微机系统与接口11感兴趣的存储区域选择感兴趣的存储区域选择 点点击击感感兴兴趣趣的的区区域域(代代码码、数数据据和和堆堆栈栈区区之之一一),出出现现GOTO下下拉拉菜菜单单(选选择择Goto./G)写写入入新新的的段段基基和和偏偏移移量量地地址(如址(如3400:5000,或或ES:5000)回车输入回车输入微机系统与接口微机系统与接口12三、三、TDTD的用户界面的用户界面全局菜单介绍全局菜单介绍1 1CPU窗窗口口的

12、的上上面面为为TD的的全全局局菜菜单单条条,可可用用“ALT键键+菜菜单单项项首首字字符符”打打开开菜菜单单项项对对应应的的下下拉拉子子菜菜单单。在在子子菜菜单单中中用用“”、“”键选择所所需需的的功功能能,按按回回车键即即可可执行行选择的的功功能能。为简化化操操作作,某某些些常常用用的子菜单项后标出了对应的快捷键。的子菜单项后标出了对应的快捷键。 FileFile菜单:文件操作菜单:文件操作Open Open 载入可执行程序文件准备调试载入可执行程序文件准备调试Change dir Change dir 改变当前目录改变当前目录Get info Get info 显示被调试程序的信息显示被调

13、试程序的信息DOS shell DOS shell 执行执行DOSDOS命令解释器(用命令解释器(用EXITEXIT命令退回到命令退回到TDTD)Quit Quit 退出退出TDTD(Alt-XAlt-X)微机系统与接口微机系统与接口13三、三、TDTD的用户界面的用户界面全局菜单介绍全局菜单介绍2 2EditEdit菜单:文本编辑CopyCopy 复制当前光标所在内存单元的内容到粘贴板(复制当前光标所在内存单元的内容到粘贴板(Shift-F3Shift-F3)PastePaste把粘贴板内容粘贴到当前光标所在内存单元(把粘贴板内容粘贴到当前光标所在内存单元(Shift-F4Shift-F4)

14、ViewView菜单:打开一个信息查看窗口菜单:打开一个信息查看窗口Breakpoints Breakpoints 断点信息断点信息Stack Stack 堆栈段内容堆栈段内容Watches Watches 被监视对象信息被监视对象信息Variables Variables 变量信息变量信息Module Module 模块信息模块信息File File 文件内容文件内容CPU CPU 打开一个新的打开一个新的CPUCPU窗口窗口Dump Dump 数据段内容数据段内容Registers Registers 寄存器内容寄存器内容微机系统与接口微机系统与接口14三、三、TDTD的用户界面的用户界面

15、全局菜单介绍全局菜单介绍3 3RunRun菜单:执行菜单:执行Run Run 从从CS:IPCS:IP开始运行程序直到程序结束开始运行程序直到程序结束(F9)(F9)Go to cursor Go to cursor 从从CS:IPCS:IP开始运行程序到光标处开始运行程序到光标处(F4)(F4)Trace Trace into into 单单步步跟跟踪踪执执行行(对对CALLCALL指指令令将将跟跟踪踪进进入入子子程程序序)(F7)(F7)Step Step over over 单单步步跟跟踪踪执执行行( (对对CALLCALL指指令令将将执执行行完完子子程程序序才才停停下下)(F8)(F8

16、)Execute to Execute to 执行到指定位置执行到指定位置(Alt-F9)(Alt-F9)Until return Until return 执行当前子程序直到退出行当前子程序直到退出(Alt-F8)(Alt-F8) )BreakpointsBreakpoints菜单:断点功能菜单:断点功能Toggle Toggle 在当前光标处设置在当前光标处设置/ /清除断点清除断点(F2)(F2)At At 在指定地址处设置断点(在指定地址处设置断点(Alt-F2Alt-F2)Delete all Delete all 清除所有断点清除所有断点微机系统与接口微机系统与接口15三、三、TD

17、TD的用户界面的用户界面全局菜单介绍全局菜单介绍4 4DataData菜单:数据查看菜单:数据查看Inspector Inspector 打开观察器以查看指定的变量或表达式打开观察器以查看指定的变量或表达式Evaluate/ModifyEvaluate/Modify 计算和显示表达式的值计算和显示表达式的值Add watch Add watch 增加一个新的表达式到观察器窗口增加一个新的表达式到观察器窗口OptionOption菜单:杂项菜单:杂项Display optionsDisplay options 设置屏幕显示的外观设置屏幕显示的外观Path for sourcePath for s

18、ource 指定源文件查找目录指定源文件查找目录Save options Save options 保存当前选项保存当前选项微机系统与接口微机系统与接口16三、三、TDTD的用户界面的用户界面全局菜单介绍全局菜单介绍5 5WindowWindow菜单:窗口操作菜单:窗口操作Zoom Zoom 放大放大/ /还原当前窗口(还原当前窗口(F5F5)Next Next 转到下一窗口(转到下一窗口(F6F6)Next Pane Next Pane 转到当前窗口的下一区域(转到当前窗口的下一区域(TabTab)Size/Move Size/Move 改变窗口大小改变窗口大小/ /移动窗口(移动窗口(Ct

19、rl-F5Ctrl-F5)Close Close 关闭当前窗口(关闭当前窗口(Alt-F3Alt-F3)User screen User screen 查看用看用户程序的程序的显示(示(Alt-F5Alt-F5) 微机系统与接口微机系统与接口17三、三、TDTD的用户界面的用户界面功能键提示条功能键提示条三三组组功功能能键键:F1F10,Alt-F1Alt-F10,Ctrl功功能能键键-代代码码区区的的局局部部菜菜单单。CPU窗窗口口下下面面的的提提示示条条中中显显示示了了这这三三组组功功能能键键对对应应的的功功能能。通通常常情情况况下下提提示示条条中中显显示示的的是是F1F10功功能能键键的

20、的功功能能。按按住住Alt不不放放,提提示示条条中中将将显显示示Alt-F1Alt-Alt-F10功功能能键键的的功功能能。按按住住Ctrl不不放,提示条中将显示各放,提示条中将显示各Ctrl功能键的功能。功能键的功能。 微机系统与接口微机系统与接口18TDTD功能键对应功能表功能键对应功能表 微机系统与接口微机系统与接口19CPUCPU窗口窗口-局部菜单局部菜单 TDTD的的CPUCPU窗窗口口中中,每每个个区区域域都都有有一一个个局局部部菜菜单单,局局部部菜菜单单提提供供了了对对本本区区域域进进行行操操作作的的各各个个命命令令。在在当当前前区区域域中中按按Alt-F10Alt-F10键键或

21、或单单击击鼠鼠标标右右键键即即可可激激活活本本区区域的域的局部菜单局部菜单, ,进行修改等各种操作进行修改等各种操作代码区的局部菜单代码区的局部菜单微机系统与接口微机系统与接口20CPUCPU窗窗口口-代码区的操作代码区的操作 代代码码区区用用来来显显示示代代码码(程程序序)的的地地址址、代代码码的的机机器器指指令令和和代代码码的的反反汇汇编编指指令令。本本区区中中显显示示的的反反汇汇编编指指令令依依赖赖于于所所指指定定的的程程序序起起始始地地址址。TDTD自自动动反反汇汇编编代代码码区区的的机机器器代代码码并并显显示对应的汇编指令。示对应的汇编指令。 每每条条反反汇汇编编指指令令的的最最左左

22、端端是是其其地地址址,如如果果段段地地址址与与CSCS段段寄寄存存器器的的内内容容相相同同,则则只只显显示示字字母母“CSCS”和和偏偏移移量量(CS:YYYYCS:YYYY),否否则则显显示示完完整整的的十十六六进进制制的的段段地地址址和和偏偏移移地地址址(XXXX:YYYYXXXX:YYYY)。地地址址与与反反汇汇编编指指令令之之间间显显示示的的是是指指令令的的机机器器码码。如如果果代代码码区区当当前前光光标标所所在在指指令令引引用用了了一一个个内内存存单单元元地地址址, 则则该该内内存存单单元元地地址址和和内内存存单单元元的的当当前前内内容容显显示示在在CPUCPU窗窗口口顶顶部部边边框

23、框的的右右部部,这这样样不不仅仅可可以以看看到到指指令令操操作作码码,还可看到指令要访问的内存单元的内容。还可看到指令要访问的内存单元的内容。*当带源代码调试时可以看到指令符号当带源代码调试时可以看到指令符号微机系统与接口微机系统与接口21CPUCPU窗窗口口-代码区的操作代码区的操作在光标行按空格键弹出输入框在光标行按空格键弹出输入框,汇编修改当前指令汇编修改当前指令.数据区相同数据区相同微机系统与接口微机系统与接口22CPUCPU窗窗口口数数据区的操作据区的操作在光标处按空格键弹出输入框在光标处按空格键弹出输入框,修改内存数据修改内存数据(可连续输入可连续输入,用空格隔开用空格隔开)微机系

24、统与接口微机系统与接口23CPUCPU窗窗口口寄存器寄存器区的操作区的操作1 1在光标处按空格键弹出输入框在光标处按空格键弹出输入框,修改内存数据修改内存数据(可连续输入可连续输入,用空格隔开用空格隔开),堆堆栈区相同栈区相同微机系统与接口微机系统与接口24CPUCPU窗窗口口寄存器寄存器区的操作区的操作2 2在光标处在光标处单击鼠标右键单击鼠标右键弹出局部菜单弹出局部菜单,选择控制功能选择控制功能,增减增减1或置零等或置零等微机系统与接口微机系统与接口25CPUCPU窗窗口口代码区代码区I/OI/O操作操作: :输入例输入例在光标处在光标处单击鼠标右键单击鼠标右键弹出局部菜单弹出局部菜单,选

25、择选择I/O-InByte微机系统与接口微机系统与接口26CPUCPU窗窗口口代码区代码区I/OI/O操作操作: :输入例输入例在光标处在光标处输入端口号或端口符号输入端口号或端口符号微机系统与接口微机系统与接口27CPUCPU窗窗口口代码区代码区I/OI/O操作操作: :输入例输入例端口号十进制和十六进制端口号十进制和十六进制输入数值十进制和十六进制数输入数值十进制和十六进制数微机系统与接口微机系统与接口28CPUCPU窗窗口口代码区代码区I/OI/O操作操作: :输出例输出例端口号十进制和端口号十进制和输出数值十六进制数输出数值十六进制数,中间用逗号隔开中间用逗号隔开微机系统与接口微机系统

26、与接口29 CPUCPU窗窗口口标志区修改操作标志区修改操作光标处按空格键修改光标处按空格键修改,或单击鼠标右键趟出菜单选择修改或单击鼠标右键趟出菜单选择修改微机系统与接口微机系统与接口30指令输入与功能认识指令输入与功能认识1.CPU1.CPU窗窗口口- -代码区操作代码区操作: :在光标行按空格键弹出输入框在光标行按空格键弹出输入框,汇编或修改当前指令汇编或修改当前指令例例MOVAX,90A0,修改修改CS,IP=010F,观察,观察AX内容,利用内容,利用RUN下单步命令下单步命令F7/F8,执行一条指令,结果:执行一条指令,结果:IP=0112,AX=90A0尝试各种寻址方式,尤其是存

27、储器寻址尝试各种寻址方式,尤其是存储器寻址光标处按空格键修改光标处按空格键修改,或单击鼠标右键趟出菜单选择修改或单击鼠标右键趟出菜单选择修改机器码机器码B8A090微机系统与接口微机系统与接口31 指令输入与功能认识指令输入与功能认识(默认十六进制数)(默认十六进制数)典型指令:典型指令:MOV2000,AX;如何确定如何确定DS:2000内容?内容?MOVCS:2000,BXINCBYTEPTR2000(观察存储器字节单元变化)观察存储器字节单元变化)DECWORDPTRBX(观察存储器字单元变化,存储观察存储器字单元变化,存储3000H)LDSSI,2000察存储器双字单元内容察存储器双字

28、单元内容=DS:SI?)?)PUSHAX,PUSHBX,POPAX,POPBX(观察堆栈指针和内容变化)观察堆栈指针和内容变化)ADD2000,AXANDAL,BX,SHLAX,1(CL)CLC,STDREPMOVSB,MOVSW(先修改先修改DS,SI;ES,DI,DF)信息交换与运算指令信息交换与运算指令微机系统与接口微机系统与接口32 指令输入与功能认识指令输入与功能认识(默认十六进制数)(默认十六进制数)顺序执行:设置断点:在蓝色光标行处按顺序执行:设置断点:在蓝色光标行处按F2键指定或取消断键指定或取消断点(或点(或reakpoints菜单下选菜单下选Toggle),一段程序:程序流

29、控制,顺序执行,断点结果检查一段程序:程序流控制,顺序执行,断点结果检查微机系统与接口微机系统与接口33 指令输入与功能认识指令输入与功能认识(默认十六进制数)(默认十六进制数)条件转移:条件转移:CS:1FC0CMPAX,1000JC2000JZ2010循环转移:循环转移:LOOP1FA0无条件转移:无条件转移:JMP1FA8(SHORT)JMP4020:809AJMPNEARPTR2000JMPFARPTR2000程序流控制:执行过程程序流控制:执行过程检查条检查条件,目件,目标标CS:IP寻址方寻址方式,检式,检查目标查目标CS:IP微机系统与接口微机系统与接口34 指令输入与功能认识指

30、令输入与功能认识(默认十六进制数)(默认十六进制数)过程调用:过程调用:CALL2000HCALLBXCALL2000:4321HCALLNEAR/FARPTRBX过程返回:过程返回:RETRETF中断调用:中断调用:INT08H中断向量:中断向量:0000:0020H中断返回:中断返回:IRET程序流控制程序流控制2:小段小段过程程序中断服务程序过程程序中断服务程序检查堆栈检查堆栈返回断点返回断点目标目标CS:IP检查堆栈检查堆栈返回断点返回断点检查堆栈检查堆栈返回断点返回断点中断向量目中断向量目标标CS:IP检查堆栈检查堆栈返回断点返回断点微机系统与接口微机系统与接口35 指令输入与功能认

31、识指令输入与功能认识(默认十六进制数)(默认十六进制数)调试认识其他指令功能调试认识其他指令功能;带符号调试功能带符号调试功能:支持符号调试宏汇编操作支持符号调试宏汇编操作: MASM/Zi myprog; MASM/Zi myprog; Link/codeview myprog; Link/codeview myprog;TASM/zi myprog; TASM/zi myprog; 兼容兼容MASM/ZiMASM/ZiTLINK/vmyprog+;可以直接操作可以直接操作检查符号符号变量、量、标号!号!微机系统与接口微机系统与接口36 指令输入与功能认识指令输入与功能认识(默认十六进制数)

32、(默认十六进制数)带符号调试功能带符号调试功能:(打开打开CPU窗口可同时看到源程序)窗口可同时看到源程序)支持符号调试宏汇编操作支持符号调试宏汇编操作: 微机系统与接口微机系统与接口3737汇编过程及原理汇编过程及原理运行汇编程序必备的软件环境:运行汇编程序必备的软件环境:DOSDOS操作系统;汇编软件操作系统;汇编软件系统。汇编系统盘应包含如下文件:系统。汇编系统盘应包含如下文件:MASM MASM 宏汇编程序文件宏汇编程序文件 (TASM)(TASM)LINK LINK 连接程序文件连接程序文件 (TLINK)(TLINK)CREF CREF 索引程序文件(也可不用)索引程序文件(也可不

33、用)EDIT EDIT 文本编辑程序(或文本编辑程序(或PEPE等文本编辑程序)等文本编辑程序)用户通过屏幕编辑程序用户通过屏幕编辑程序EDITEDIT(各功能)键入源程序,检(各功能)键入源程序,检查无误,可将源程序存到汇编系统盘上,查无误,可将源程序存到汇编系统盘上,该程序的扩该程序的扩展名为展名为ASMASM。(。(XXX.ASMXXX.ASM)(2) MASM(2) MASM汇编程序:格式、宏、模块汇编程序:格式、宏、模块OBJ: OBJ: 浮动汇编浮动汇编(相对关系)、段、变量待定位(相对关系)、段、变量待定位 微机系统与接口微机系统与接口3838汇编链接过程汇编链接过程执执行行宏宏

34、汇汇编编程程序序MASM-MASM-生生成成目目标标文文件件.OBJ.OBJ,辅辅助助文文件件LSTLST,CRFCRF(可选)(可选)用汇编语言编写的源程序必须是一个完整的源程序,才能经用汇编语言编写的源程序必须是一个完整的源程序,才能经过宏汇编程序过宏汇编程序MASMMASM的汇编,生成一个目标程序。为了完成汇的汇编,生成一个目标程序。为了完成汇编任务,汇编程序一般采用两遍扫描的方法,第一遍扫描源编任务,汇编程序一般采用两遍扫描的方法,第一遍扫描源程序产生符号表、处理伪指令等,第二遍扫描产生机器指令程序产生符号表、处理伪指令等,第二遍扫描产生机器指令代码、确定数据等。代码、确定数据等。 O

35、BJOBJ将将源源程程序序的的操操作作码码部部分分变变为为机机器器码码,但但地地址址操操作作数数是是可可浮浮动动的的相相对对地地址址,而而不不是是实实际际地地址址,因因此此需需经经LINKLINK连连接接文文件件进进行连接才能形成可执行文件。行连接才能形成可执行文件。LSTLST是列表文件把源程序和目标程序列表,以供检查程序用。是列表文件把源程序和目标程序列表,以供检查程序用。CRFCRF是是交交叉叉索索引引文文件件,对对源源程程序序所所用用的的各各种种符符号号进进行行前前后后对对照照的文件的文件微机系统与接口微机系统与接口3939汇编链接操作过程汇编链接操作过程C:masmmasmMYFIL

36、E.asm,mobj,mlst,mcrf;Microsoft(R)MacroAssembleVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987,Allrightreserved.Sourcefilename.ASM:MYFILEObjectfilenameMYFILE.OBJ:MYFILESourcelistingNUL.LST:MYFILECross-referenceNUL.CRF:MYFILE50678410090Bytessymbolspacefree0WarningErrors0SevereErrorsMASM/R MASM/E-80

37、87MASM/R MASM/E-8087实模式仿真库方式实模式仿真库方式微机系统与接口微机系统与接口4040LINK LINK 多模块链接多模块链接用用汇汇编编语语言言编编写写的的源源程程序序经经过过汇汇编编程程序序(MASMMASM)汇汇编编后后产产生生了了目目标标程程序序(.OBJ.OBJ),该该文文件件是是将将源源程程序序操操作作码码部部分分变变成成了了机机器器码码,但但地地址址是是可可浮浮动动的的相相对对地地址址(逻逻辑辑地地址址),因因此此必必须须经经过过连连接接程程序序LINKLINK连连接接后后才才能能运运行行。连连接接程程序序LINKLINK是是把把一一个个或或多多个个独独立立

38、的的目目标标程程序序模模块块装装配配成成一一个个可可重重定定位位的的可可执执行行文文件件,扩扩展展名名为为.EXE.EXE文文件件。此此外外还还可可以以产产生生一一个个内内存存映映象象文件,扩展名为文件,扩展名为.MAP.MAP。连接程序执行过程。连接程序执行过程: :DLINK(直接链接(直接链接P1+P2+P3,PEXE,PMAP,LIB1+LIB2;)MicrosoftoverlaylinkVersion3.60CopyrightMicrosoftCorp1983-1987AllrightreservedObjectModules.OBJ:MYFILERunFileMYFILE.EXE:

39、MYFILEListFileNUL.MAP:MYFILE;Libraries.LIB:(LINK/HELP-帮助开关)帮助开关)微机系统与接口微机系统与接口4141内存映象文件(内存映象文件(.MAP.MAP)由由连连接接程程序序LINKLINK产产生生的的扩扩展展名名为为.MAP.MAP文文件件,它它实实际际上上是是连连接接程程序序的的列列表表文文件件,它它给给出出了了每每个个段段的的地地址址分分配配情情况况及及长长度度, ,(加(加/M/M开关开关外部变量相对地址。例如:外部变量相对地址。例如:DTYPEMYFILE.MAPStartStopLengthNameClass00000H000

40、0FH0010HDATA00010H0004FH0040HSTACK00050H0005FH0010HCODEOriginGroupAddressPublicsbyname0900:0002mmm0010:0070VV1AddressPublicsbyvalue0010:0070VV10900:0002mmmProgramentrypointat0005:0000微机系统与接口微机系统与接口4242交叉索引文件(交叉索引文件(.CRF.CRF)汇汇编编后后产产生生的的交交叉叉索索引引文文件件,扩扩展展名名为为.CRF,.CRF,它它列列出出了了源源程程序序中中定定义义的的符符号号(包包括括:标

41、标号号、变变量量等等)和和程程序序中中引引用用这这些些符符号的情况。号的情况。如如果果要要查查看看这这个个符符号号表表,必必须须使使用用CREF.EXECREF.EXE的的文文件件,它它根根据据.CRF.CRF文文件件建建立立一一个个扩扩展展名名为为.REF.REF的的文文件件,而而后后再再用用DOSDOS的的TYPETYPE命命令令显显示示,就就可可以以看看到到这这个个符符号号使使用用情情况况表表。具具体体操操作作方法如下:方法如下:DCREFcreffilename.CRF:MYFILElistfilenameMYFILE.REF:DTYPE MYFILE.REF 微机系统与接口微机系统与

42、接口4343执行、执行、目标代码格式比较与调试目标代码格式比较与调试.EXE.EXE装装入入后后各各寄寄存存器器(段段的的分分配配)、已已定定义义变变量量(数数据)地址,指针变量;据)地址,指针变量;. .各伪指令的作用;各伪指令的作用;. .多模块(多模块(PUBLIC/EXTRNPUBLIC/EXTRN)链接;)链接;M,8087M,8087指令实验。指令实验。. .汇编指令与目标代码指令的差别。汇编指令与目标代码指令的差别。. .重要重要DOS/BIOSDOS/BIOS功能调用(控制台输入输出)功能调用(控制台输入输出). .不不要要试试图图跟跟踪踪 DOS/BIOSDOS/BIOS调调

43、用用,尽尽量量用用断断点点或或过过程程P P命令命令. .注意:高级语言与汇编语言接口注意:高级语言与汇编语言接口微机系统与接口微机系统与接口4444调试工具调试工具(1)DEBUG-(1)DEBUG-命令行目标代码调试器命令行目标代码调试器(2)CV(2)CVCodeView MicrosoftCodeView Microsoft公司源代码调试器公司源代码调试器 MASM/Zi myprog; MASM/Zi myprog; Link/codeview myprog; Link/codeview myprog;(3)TD(3)TDTurbo Debuger BorlandTurbo Debuger Borland公司源代码调试器公司源代码调试器 TASM/zi myprog; TASM/zi myprog; 兼容兼容MASM/ZiMASM/ZiTLINK/vmyprog+;(4) Compuware Co. Compuware Co.的的NUMEGANUMEGA Soft-ICE Soft-ICE EXE EXE,DLLDLL,OCXOCX,VxDVxD微机系统与接口微机系统与接口4545实际操作实际操作MASMT18;MASMT19;LINKT18+T19;TASM/ziT18;TLINK/vT18;TDT18(.exe)F3重复命令行重复命令行

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号