第2章数据定义与传送_第1页
第2章数据定义与传送_第2页
第2章数据定义与传送_第3页
第2章数据定义与传送_第4页
第2章数据定义与传送_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 12.3.1 2.3.1 编辑编辑2.3.2 2.3.2 汇编汇编 2.3.3 2.3.3 连接连接2.3.4 2.3.4 运行和调试运行和调试2 2汇编语言源程序编制完成后,在计算机上的操作过程分为汇编语言源程序编制完成后,在计算机上的操作过程分为四个阶段:四个阶段:编辑编辑、汇编汇编、连接连接、运行调试运行调试3 32.3.1 2.3.1 编辑编辑 输入源程序;输入源程序; 对源程序进行修改。对源程序进行修改。编辑阶段的主要任务是:编辑阶段的主要任务是:一定要用一定要用“纯文本纯文本”格式来储存源程序文件,否则无法汇格式来储存源程序文件,否则无法汇编。编。产生的源程序文件应该以产生的源

2、程序文件应该以“.ASM”或或“.TXT”为扩展名,最好为扩展名,最好使用使用“.ASM”扩展名。扩展名。大多数的文字编辑软件都可以用来输入和修改汇编语言源大多数的文字编辑软件都可以用来输入和修改汇编语言源程序,如记事本程序,如记事本(Notepad)、写字板、写字板(Writer)、Word以及命令行以及命令行方式下的方式下的Edit。4 42.3.2 2.3.2 汇编汇编汇编阶段的任务是把汇编语言源程序汇编阶段的任务是把汇编语言源程序“翻译翻译”成为机器成为机器代码代码(称为称为“目标目标”),产生二进制的,产生二进制的“目标文件目标文件”。常用的汇编工具常用的汇编工具 Microsoft

3、公司的公司的MASM(Macro Assembler,宏汇编,宏汇编) Borland公司的公司的TASM(Turbo Assembler)假设已经产生了一个汇编语言源程序文件假设已经产生了一个汇编语言源程序文件“MYPRG1.ASM”,可以用如下命令进行汇编:,可以用如下命令进行汇编:该命令正确执行后,将产生一个同名的目标文件该命令正确执行后,将产生一个同名的目标文件MYPRG1.OBJ。TASM MYPRG1 5 5如果汇编语言源程序文件以如果汇编语言源程序文件以“.TXT”为扩展名,汇编时要为扩展名,汇编时要使用这个文件的使用这个文件的“全称全称”:TASM MYPRG1.TXT Err

4、or messages: NoneWaring message: NoneTASM命令执行后,在屏幕上显示相关信息。命令执行后,在屏幕上显示相关信息。说明这个程序已经顺利地通过了说明这个程序已经顺利地通过了“汇编汇编”,没有发现错误。,没有发现错误。*Error* EX2.ASM(14) Value out of range Error messages: 1表示汇编源程序表示汇编源程序EX2.ASM第第14行有行有“数值超出范围数值超出范围”的的错误,程序的错误总数为错误,程序的错误总数为1。6 6/ZI 产生用于程序调试的完整信息产生用于程序调试的完整信息/L 产生同名的列表文件产生同名的

5、列表文件完整的完整的TASM命令行命令行TASM OPTION SOURCE ,OBJECT ,LISTING ,XREF OPTION 这一部分可以给汇编过程提供一些可选择的项目。这一部分可以给汇编过程提供一些可选择的项目。常用的选项有:常用的选项有:,OBJECT 通过这个选项另外指定目标文件名通过这个选项另外指定目标文件名,LISTING 用这个选项指定列表文件的名称用这个选项指定列表文件的名称,XREF 这个选项用来产生交叉引用文件这个选项用来产生交叉引用文件7 7 对源程序对源程序“PRG.TXT”进行汇编,进行汇编, 产生名为产生名为“PRG1.OBJ”的目标文件的目标文件 名为名

6、为“PRG1.LST”的列表文件,的列表文件, 同时产生程序调试所需要的完整信息同时产生程序调试所需要的完整信息(包含在目标文件中包含在目标文件中)。关于关于TASM命令更详细的信息,可以打入命令命令更详细的信息,可以打入命令“TASM/?”获得。获得。 TASM /ZI PRG.TXT , PRG1, PRG1 8 82.3.3 2.3.3 连接连接连接阶段主要完成的操作是:连接阶段主要完成的操作是: 把几个程序模块产生的目标文件连接成一个完整的可执行程序;把几个程序模块产生的目标文件连接成一个完整的可执行程序; 把把“子程序库子程序库”中的子程序连接到程序中去。中的子程序连接到程序中去。由

7、单个程序文件组成的简单程序,连接命令如下由单个程序文件组成的简单程序,连接命令如下 TLINK EX2 对目标文件对目标文件“EX2.OBJ”进行连接操作,产生同名的可执行程进行连接操作,产生同名的可执行程序序“EX2.EXE”。 如果程序里没有定义堆栈段,连接过程会产生警告信息如果程序里没有定义堆栈段,连接过程会产生警告信息“No stack”。如果程序比较小,这个警告信息不影响连接产生的可执。如果程序比较小,这个警告信息不影响连接产生的可执行程序的使用。行程序的使用。9 9TLINK MYPRG1+MYPRG2, MYPRG , , MYLIB 关于关于TLINK命令更详细的信息,可以打入

8、命令命令更详细的信息,可以打入命令“TLINK/?”获得。获得。/t 产生产生“.COM”格式的可执行程序;格式的可执行程序;/v 产生的可执行程序包含全部的符号调试信息产生的可执行程序包含全部的符号调试信息(汇编时已使用汇编时已使用 过过“/ZI”选项,否则该选项不起作用选项,否则该选项不起作用)。可以在可以在TLINK命令中增加一些选择项,常用的选择项:命令中增加一些选择项,常用的选择项: 把目标文件把目标文件MYPRG1.OBJ、MYPRG2.OBJ和子程序库文件和子程序库文件MYLIB.LIB中的部分子程序连接成为一个可执行程序中的部分子程序连接成为一个可执行程序MYPRG.EXE。1

9、0102.3.4 2.3.4 运行和调试运行和调试由由TLINK产生的产生的“.EXE”或者或者“.COM”文件可以直接执行。文件可以直接执行。“MYPRG1 ” 扩展名扩展名“.EXE”可以省略。可以省略。 如果同时存在文件如果同时存在文件MYPGM.EXE和和MYPGM.COM,上面,上面 的命令将执行程序的命令将执行程序MYPRG.COM而不是而不是MYPGM.EXE。 如果同时存在文件如果同时存在文件MYPGM.EXE和和MYPGM.COM,执行,执行 程序程序MYPGM.EXE时,需要在命令行打入它的全名。时,需要在命令行打入它的全名。1111TASM5.0软件包中,用于程序调试的软

10、件称为软件包中,用于程序调试的软件称为“TD” (Turbo Debugger):调试调试(Debug):在操作者的控制下执行这个程序,观察程序每个:在操作者的控制下执行这个程序,观察程序每个阶段的执行结果,或者修改参数反复运行程序,查找出程序中还阶段的执行结果,或者修改参数反复运行程序,查找出程序中还存在的不正确的地方,或者验证程序的正确性。存在的不正确的地方,或者验证程序的正确性。 TD EX201 汇编语言程序不包含输出结果的相关指令,操作者无法看到汇编语言程序不包含输出结果的相关指令,操作者无法看到 程序的运行结果。程序的运行结果。 程序能够运行,但是不能得到预想的结果。程序能够运行,

11、但是不能得到预想的结果。发生以下两种情况之一的,需要对程序进行发生以下两种情况之一的,需要对程序进行“调试调试”。1212调试程序调试程序“TD”的运行界面的运行界面1313TD的五个子窗口的五个子窗口CPUCPU子窗口子窗口:位于各窗口的左上方,占用面积最大,各列分别:位于各窗口的左上方,占用面积最大,各列分别显示代码段的地址、内容、对应的符号指令显示代码段的地址、内容、对应的符号指令(由代码段中的二由代码段中的二进制机器指令进制机器指令“反汇编反汇编”得到得到)。数据子窗口数据子窗口:位于:位于CPU子窗口的下方,显示部分存储器的内容子窗口的下方,显示部分存储器的内容寄存器子窗口寄存器子窗

12、口:显示各寄存器内容。可选择:显示各寄存器内容。可选择16/32位寄存器位寄存器标志位子窗口标志位子窗口:显示:显示FLAGS寄存器内各标志位的当前值。寄存器内各标志位的当前值。堆栈子窗口堆栈子窗口:显示堆栈段栈顶附近各单元的地址和当前值。:显示堆栈段栈顶附近各单元的地址和当前值。除了上述子窗口以外,用户还可以打开其它的子窗口除了上述子窗口以外,用户还可以打开其它的子窗口1414用用F5键可以把这些子窗口充满整个键可以把这些子窗口充满整个TD窗口。窗口。 需要对某个窗口进行操作时,首先要需要对某个窗口进行操作时,首先要“选中选中”这个窗口,这个窗口,方法是在全屏幕方式下用鼠标单击,或者用方法是

13、在全屏幕方式下用鼠标单击,或者用F6键选择。键选择。 在全屏幕方式下,在这个窗口里用鼠标右击,会弹出一在全屏幕方式下,在这个窗口里用鼠标右击,会弹出一个菜单,其中包含了最常用的操作命令。个菜单,其中包含了最常用的操作命令。同时按下同时按下“Alt”和和“Enter”键可以把键可以把TD窗口扩展为全屏幕。窗口扩展为全屏幕。在全屏幕方式下,可以用鼠标进行各项操作。在全屏幕方式下,可以用鼠标进行各项操作。 各窗口的内容都可以由操作者进行修改。各窗口的内容都可以由操作者进行修改。1515按两次按两次F7键,键, “DATA”的段基址的段基址“0ADEH” 装入装入DS左击选中数据窗口,右击该窗口,在命令菜单中选择左击选中数据窗口,右击该窗口,在命令菜单中选择“GOTO ”,在该命令的对话框中输入,在该命令的对话框中输入“DS: 0”,数据窗口,数据窗口显示显示“DATA”段的内容。可以看到段的内容。可以看到ARRAY数组各元素的初始值;数组各元素的初始值;先后按先后按4次次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论