汇编语言源程序的编辑与调试过程
实验一、汇编语言程序的上机过程及调试
实验一、汇编语言程序的上机过程及调试<i>汇编程序调试过程</i>实验一、汇编语言程序的上机过程及调试<i>汇编程序调试过程</i>一、实验目的熟练掌握汇编语言上机汇编、连接和装入运行。
学会使用调试程序DEBUG或TD来进行程序调试。
<i>汇编程序调试过程</i>二、实验内容(一)汇编程序建立过程a.建立汇编源程序─通过b.编译为目标文件d.连接为可执行文件c.不通过,重新修改(语句错误)f.不正确,用调试工具调试,重新修改(逻辑错误)e运行正确g.完成<i>汇编程序调试过程</i>汇编语言的源程序需要编译和连接后才能在计算机上执行。
汇编语言源程序扩展名规定为.ASM。
用MASM编译源程序后,将产生源程序的目标程序文件,其扩展名为.OBJ。
再经过连接程序(LINK)把目标程序文件与库文件或其他目标文件连接在一起形成可执行文件(扩展名为.EXE)。
这时就可以运行该程序了。
DOS下可直接键入可执行程序的文件名从而运行该程序。
<i>汇编程序调试过程</i>(二)过程详细说明步骤a: 建立汇编源程序如果现在的根目录不是E盘,写入E :然后回车,再打入cd *** (***是你新建的文件夹名),例如电气031班的同学,现在你的DOS界面根目录为:E\dq031 。
打入edit然后回车,EDIT的操作画面便会出现在屏幕上,alt键可以控制工具栏操作,←↑→↓箭头控制阴影选择的上下移动。
我们现在按alt键,选中flie, 按↓选中open,回车,找到刚刚拷贝的asm 文件,回车。
选择存盘并给你输入的文件起一个文件名,形式:*** . asm ;然后回到dos环境。
<i>汇编程序调试过程</i>步骤b: 编译目标文件在DOS提示符下键入MASM *** .asm回车,(其中***为你刚才在*****RE a 中建立的文件名)这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。
汇编语言程序的上机过程
汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。
汇编程序我们提供宏汇编程序MASM5.0和MASM6.14两个版本。
1、建立源程序文件建立和编辑汇编语言源程序可以使用EDIT、记事本、写字本,也可以使用TC等来输入源程序。
保存时,源程序文件的扩展名必须是ASM。
练习:(1)在DOS下用编辑软件EDIT建立如下源程序文件,将文件保存为Hello.ASM,保存在MASM5目录下。
(调用命令“C:\EDIT”进入EDIT编辑器。
)源程序文件如下:DSEG SEGMENTMESSAGE DB 'HOW DO YOU DO?',0DH,0AH,24HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGBEGIN:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESSAGEMOV AH,9INT 21HMOV AH,4CHINT 21HCSEG ENDSEND BEGIN(2)编程计算1+2+3+ ……+100,和放在AX寄存器中,要求用循环实现。
对于MASM5.0和MASM6.14两个版本,编译和连接的方法有所不同。
以下分别就两个版本的编译和连接的方法进行讲解。
如果使用MASM5.0的话,操作方法如下(以HELLO.ASM源程序文件为例):2、对源程序进行汇编,生成目标文件HELLO.OBJ。
操作:(1)在DOS下进入MASM5.0的目录,如C:\MASM5>(2)敲入命令: MASM HELLO说明:.obj文件:目标代码文件,纯二进制代码文件,不能直接显示在屏幕上。
.lst文件:包含源程序中各语句及其对应的目标代码,各语句的偏移量等相关信息,对调试程序有帮助,但一般情况不需要。
.crf文件:交叉索引文件,给出源程序中定义的符号引用情况,初学时不需建立。
3、连接目标文件,生成执行文件HELLO.EXE,操作:敲入命令LINK HELLO说明:.EXE文件:可执行文件.MAP文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。
实验一 熟悉汇编程序调试步骤
实验一汇编语言环境一、实验目的1.熟悉汇编语言的上机环境,学习EDIT,MASM,LINK程序的使用,掌握建立、汇编、链接、运行汇编语言程序的过程。
2.熟悉DEBUG有关命令的使用方法。
二、实验原理建立、汇编、链接、运行汇编语言程序的过程方法。
三、主要仪器及耗材计算机、MASM软件包。
四、实验内容与步骤内容:1.输入、编辑汇编语言程序。
2.对汇编语言程序进行汇编、连接和运行。
步骤:1.在DOS提示符下,进入MASM目录。
2. 在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。
1) 调用edit输入、编辑源程序并保存在指定的目录中;例:edit no1.asm,进入编辑窗口code segmentassume cs:codestart:mov ah,08hint 21hmov ah,4chint 21hcode endsend start编辑完后,何在退出edit窗口2) 用汇编程序masm对源程序汇编产生目标文件obj。
例:masm no1不断修改错误,直至汇编通过为止,产生no1.obj。
3) 用连接程序link产生执行文件exe.例:link no14) 执行程序:可直接从DOS执行程序,即在DOS环境中,输入文件名no1即可。
再次熟悉汇编连接,运行过程。
1.在DOS提示符下,进入MASM目录。
2. 在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。
1) 调用edit输入、编辑源程序并保存在指定的目录中;例:edit no2.asm,进入编辑窗口DATAS SEGMENTbuf db 'I am a student!$' ;此处输入数据段代码DATAS ENDSSTACKS SEGMENTdb 200 dup(0);此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXlea dx,bufmov ah,9int 21h;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START编辑完后,何在退出edit窗口2) 用汇编程序masm对源程序汇编产生目标文件obj。
汇编语言源程序运行步骤和DEBUG的使用
汇编语言源程序运行步骤和DEBUG的使用一、实验目的1.熟悉汇编语言源程序书写格式。
2.熟悉汇编语言源程序编辑、汇编、连接、执行步骤。
3.练习DEBUG常用命令的使用。
4.熟悉8086的寄存器。
5.了解程序的执行过程。
二、实验预习要求1、认真阅读预备知识中汇编语言的上机步骤的说明,熟悉汇编程序的建立、汇编、连接、执行、调试的全过程。
2.预习使用DEBUG 检查/修改寄存器内容、查询存储器内容的命令。
3.预习使用DEBUG单步、断点及连续执行程序的命令。
三、实验内容1.编辑以下程序,汇编连接后运行,将输出'HOW ARE YOU?’。
本习题主要目的:熟悉汇编语言源程序的书写格式;熟悉汇编语言源程序的编辑、汇编、连接、运行。
DA TA SEGMENTBUF DB 'HOW ARE YOU?$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,OFFSET BUFMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START2.DEBUG 调试以下程序,查看DATA段中定义的数据在内存中的存放方式,并单步执行查看每一语句执行后相关寄存器的内容,并解释为何取该值:DA TA SEGMENT ;(1)DB 34H,12H ;(2)B DW 1234H ;(3)C DD 0 ;(4)D DB -1,15/3 ;(5)E DB '012' ;(6)F DW 'AB','C' ;(7)G DW ? ;(8)H DB 5 DUP(0) ;(9)I DW $-OFFSET H ;(10)DA TA ENDS ;(11)CODE SEGMENT ;(12)ASSUME CS:CODE,DS:DA TA ;(13)START: MOV AX,CODE ;(14)MOV DS,AX ;(15)MOV BX,SEG A ;(16)MOV CX,OFFSET B ;(17)MOV DX,TYPE C ;(18)MOV AH,4CH ;(19)INT 21H ;(20)CODE ENDS ;(21)END START ;(22)3.下面是第1题采用将主程序定义为远程的程序返回DOS的结束方式,将其编辑、连接、运行,熟悉汇编源程序不同的结束方式。
微机原理与接口技术 实验一 8086汇编语言的编程实践
实验一8086汇编语言的编程实践【实验目的】1.掌握8086汇编语言编程以及调试的过程。
2.学会使用masm.exe、debug.exe、td.exe等软件。
【实验内容】1.通过示范源程序熟悉从如何建立源文件到进行调试【实验步骤】1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口。
窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。
如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。
编辑窗口用于输入源程序。
EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。
实验一 利用 DEBUG 调试汇编语言程序段
实验名称实验一利用 DEBUG 调试汇编语言程序段一、实验目的1.熟悉 DEBUG 有关命令的使用方法;2.利用 DEBUG 掌握有关指令的功能;3.利用 DEBUG 运行简单的程序段。
二、实验要求1.仔细阅读有关 DEBUG 命令的内容,对有关命令,要求事先准备好使用的例子;三、实验环境DOS 操作系统四、实验内容1.进入和退出 DEBUG 程序;1)开始—运行点确定进入DOS命令窗口图1进入DOS命令窗口2)在命令窗口中输入 dubug 进入 debug 程序图2进入 debug 程序3)进入 debug 窗口后,输入 q 命令退出 debug图3退出 debug2.学会 DEBUG 中的1)D 命令(显示内存数据 D 段地址:偏移地址)例 1:-D100 ;显示 DS 段, 0100 开始的 128 个字节内容-D ;默认段寄存器为 DS,当前偏移地址(刚进入 debug 程序偏移地址为 0100H)图4默认显示 DS 段内容-D DS:100 ;显示 DS 段, 0100H 开始的 128 个字节内容图5显示 DS 段内容-D CS:200 ;显示 CS 段, 0200H 开始的 128 个字节内容图6显示 CS 段内容-D 200:100 ;显示 DS 段, 0200:0100H 开始的 128 个字节内容图7显示 DS段0200:0100H内容-D 200 ;显示 DS 段, 0200H开始的128个字节内容图8显示 DS段0200H开始的内容-D 100 L 10 ;显示 DS 段, 100H 开始的 100H 个字节内容图9显示 DS段100H开始的100H字节内容2)E 命令(修改指定内存)例 1:-E100 41 42 43 44 48 47 46 45-D 100,L08结果:073F:0100 41 42 43 44 48 47 46 45-e 100 修改内存内容-d 100,L08 查看刚才修改的内存内容图10 修改和查看DS段100H开始的80H字节内容例 2: -E 100073F:0100 41. 42 : 42 是操作员键入此命令是将原 100 号内存内容 41 修改为 42,用 D 命令可察看。
汇编语言的编程步骤与调试方法
汇编语言得编程步骤与调试方法一、汇编源程序得建立1、使用工具sm文件;(2)ASM,MASM汇编程序,对源程序进行汇编,生成、obj文件-目标文件,以及调试用、LST-列表文件与、CRF-交叉引用表;(3)Link连接程序,对使用得目标文件与库文件进行连接,生成、exe文件,同时调试用、map-地址映像文件;如果源程序无语法错误,上述三步将生成可运行得、exe文件,如果运行结果无误,则完成对汇编程序得编程,如果运行后结果存在错误,需要进行调试。
(4)Debug调试程序,对、exe文件进行调试,修改,直到程序正确。
图3目标程序生成步骤图2、编程过程(1)用文本编辑软件,编写扩展名为、asm得源文程序文件。
(2)用汇编程序对编好得源文件进行汇编。
命令行:masm[*、asm]↙如果源文件中存在语法错误,则汇编程序将指出错误类型及位置,可根据这些信息重新编辑源文件,直至无语法错误,汇编后,将生成指定名称得目标文件、obj。
使用MASM50汇编程序进行汇编,输入命令行masm或者masm *、asm 后,根据提示,输入文件名,在汇编没有错误得情况下,如屏幕所示:汇编程序可生成三个文件,*、obj,*、lst与*、crf。
*、obj-目标文件,用于连接生成可执行文件;*、lst-列表文件(可选),汇编语言汇编得机器语言与汇编语言对照表,可用于调试;*、crf-交叉引用文件(可选),给出了用户定义得所有符号与对每个符号定义、引用得行号。
(3)目标文件得连接命令行:link[*、obj][*、obj] [*、lib] ↙连接程序,将多个目标程序及库文件,连接生成可执行得*、exe文件,同时可选择生成*、map文件。
*、map-地址映像文件,给出内存地址分配得有关信息。
下图所示屏幕,为Link连接两个目标文件,没有错误得情况下,生成*、e xe文件。
(4)执行程序执行*、exe文件,观察程序运行结果,如果存在错误,需要进行调试。
汇编语言
注: NAME 、TITLE 操作不是必须的。 END 则必不可少。
汇编语言程序格式
源程序的每条语句可表示为:
[名字]
标号 变量
操作项
指令 伪指令 宏指令
操作数
寄存器 标号 变量 常数 表达式
[; 注释]
说明程序或语句 的功能
标号/变量:段值、偏移量、类型三种属性 表达式:数字表达式 地址表达式
一、名字项
(2) 逻辑和移位操作符: AND、OR、XOR、NOT
SHL、SHR
(3) 关系操作符: EQ、NE、LT、LE、GT、GE (4) 数值回送操作符: OFFSET、SEG、TYPE、
LENGTH、SIZE
(5) 属性操作符: PTR、段操作符、SHORT、
THIS、HIGH、LOW、 HIGHWORD、LOWWORD
• 产生目标文件(.obj)和列表文件(.lst)。 • 展开宏指令。
汇编语言程序的开发过程
文本编辑器,如
编 辑
错误
源程序:文件名.asm 汇编程序,如 MASM.EXE
汇 编
目标模块:文件名.obj 连接程序,如 LINK.EXE
错误
连 接
可执行文件:文件名.exe
错误
调试程序,如 DEBUG.EXE
程序运行时将多条语句展开。
●宏调用指令与子程序调用有些相似,但实
际上有许多不同。
2ቤተ መጻሕፍቲ ባይዱ宏的定义和使用
宏指令的使用要经过以下三个步骤:
my_code ends end begin
●由上例可看出,汇编语言源程序除了实现具
体功能的指令外,还有一些涉及数据定义、
程序格式的伪指令,是汇编语言源程序的必
汇编语言的上机过程(基于MASM 6.15)
(上机第一步)EDIT,是编辑程序,像一个文本编辑器,用来编辑汇编语言源程序,编辑好的程序扩展名为*.asm;(第二步)MASM,是汇编程序,用来把*.asm程序编译成二进制代码,该二进制代码文件称为目标程序,扩展名为*.obj;(第三步)LINK,是链接程序,用来把*.obj文件变成可执行目标代码,即可执行文件*.exe;在第二步和第三步中,可以发现程序语法上的错误;(第四步)DEBUG是调试工具,用于发现程序逻辑上的错误。
汇编语言的上机过程(基于MASM 6.15)汇编语言的一般上机过程:1.建立ASM文件 2.产生OBJ文件 3.产生EXE 文件4.程序的调试和执行MASM 6.15包含文件:***************************************************M ASM.EXE 汇编器E DOS下的文本编辑器E DIT.HLP EDIT帮助文件L IB.EXE 过程库管理程序L INK.EXE 连接器D OSXNT.EXEm l.err 汇编的错误信息文件m l.exe(masm and link)汇编连接器***************************************************D EBUG.EXE 调试器(一般是系统自带)***************************************************对于MASM 6.10以下的版本,汇编器和连接器是分开的,分别是MASM.EXE 和LINK.EXE,使用时要先用MASM.EXE生成.OBJ文件,再使用LINK.EXE生成.EXE文件。
ml.exe把MASM.EXE和LINK.EXE整合到一起,可以一步生成.EXE 文件。
ml命令有许多参数,可以使用ml /?命令查看。
下面介绍几个低级实用的参数:/AT Enable tiny model (.COM file)/c Assemble without linking 只汇编不连接/Fe<file> Name executable 指定.EXE文件名/Fl[file] Generate listing 生成列表文件(.LST)/Fm[file] Generate map 生成映像文件(.MAP)/Fo<file> Name object file 指定.OBJ文件名/I<name> Add include path 指定include文件的路径名两种开发环境:1.32位Windows控制台(CMD.EXE)①解压缩MASM6.15.ZIP到D:\②开始-程序-附件-命令提示符-右键-发送到桌面快捷方式③修改桌面命令提示符属性:目标:%SystemRoot%\system32\cmd.exe起始位置:D:\MASM④双击命令提示符图标即可进入基于32位Windows控制台下的汇编程序环境。
实验一汇编语言上机及Debug调试
实验一汇编语言程序上机过程以及调试(1)一、预习内容1.工具软件MASM、LINK的使用2.常用DEBUG命令的使用: G,D,R,T,U,Q3.完整程序设计方法的格式。
二、目的要求1.掌握常用工具软件MASM、LINK的使用2.掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序3.掌握完整程序设计方法的格式,能正确书写数据段,代码段等。
三、实验内容比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。
DSEG SEGMENTstring1 db 'Move the cursor backward.'string2 db 'Move the cursor backward.'mess1 db 'Match.',13,10,'$'mess2 db 'No match.',13,10,'$'DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:DSEG,MAIN PROC FARstart: mov ax, dsegmov ds, axmov es, axlea si ,string1①cld②repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp: mov ah,09hint 21hmov ax, 4c00hint 21hMAIN ENDPCSEG ENDSend start实验步骤:1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在d:\masm下,注意保存时将文件扩展名改为.asm(如test1.asm)。
2)屏幕左下角”开始”–“运行”输入cmd ,进入dos命令操作,先用d: 和cd mas m 命令改变路经,接着用”masm + 文件名” (如masm test1,这里文件名可以不带扩展名)对源文件进行汇编,产生.obj文件和.LST文件。
微机原理汇编语言的上机过程 实验报告
微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。
实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。
▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。
▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。
▪调试程序:DEBUG.EXE,用于调试可执行程序。
二、上机过程❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。
1.编辑源程序❖用文本编辑软件创建、编辑汇编源程序。
常用编辑工具有:、记事本、Word等。
❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。
2.汇编❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。
❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。
❖汇编过程如下:❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。
❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。
Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。
如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。
此时,需要进行修改,然后再进行汇编。
❖如此进行,直至汇编无错误,得到目标文件为止。
3.连接❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。
汇编语言的编程步骤与调试方法
汇编语言的编程步骤与调试方法一、汇编源程序的建立1.使用工具(1)EDIT,记事本等文本编辑软件,编辑源程序,保存为.asm文件;(2)ASM,MASM汇编程序,对源程序进行汇编,生成.obj文件-目标文件,以及调试用.LST-列表文件和.CRF-交叉引用表;(3)Link连接程序,对使用的目标文件和库文件进行连接,生成.exe文件,同时调试用.map-地址映像文件;如果源程序无语法错误,上述三步将生成可运行的.exe文件,如果运行结果无误,则完成对汇编程序的编程,如果运行后结果存在错误,需要进行调试。
(4)Debug调试程序,对.exe文件进行调试,修改,直到程序正确。
图3目标程序生成步骤图2.编程过程(1)用文本编辑软件,编写扩展名为.asm的源文程序文件。
(2)用汇编程序对编好的源文件进行汇编。
命令行:masm[*.asm]↙如果源文件中存在语法错误,则汇编程序将指出错误类型及位置,可根据这些信息重新编辑源文件,直至无语法错误,汇编后,将生成指定名称的目标文件.obj。
使用MASM50汇编程序进行汇编,输入命令行masm或者masm*.asm后,根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj,*.lst和*.crf。
*.obj-目标文件,用于连接生成可执行文件;*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。
(3)目标文件的连接命令行:link[*.obj][*.obj][*.lib]↙连接程序,将多个目标程序及库文件,连接生成可执行的*.exe文件,同时可选择生成*.map文件。
*.map-地址映像文件,给出内存地址分配的有关信息。
下图所示屏幕,为Link连接两个目标文件,没有错误的情况下,生成*.exe 文件。
(4)执行程序执行*.exe文件,观察程序运行结果,如果存在错误,需要进行调试。
汇编程序调试实验报告
微机原理与接口技术课程作业班级:目录一、实验目的: (2)二、实验环境 (2)三、实验过程 (2)(一)基础知识储备 (2)(二)汇编语言程序设计 (2)(三)汇编程序调试 (2)四、调试实例 (2)(一)实例一 (2)(二)实例二 (2)(三)实例三 (2)(四)实例四 (2)五、实验总结 (2)(一)实验收获 (2)(二)实验感悟 (2)一、实验目的:汇编语言是一种用助记符表示的程序设计语言。
用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O 接口驱动等程序设计。
通过本次实验,熟练掌握汇编程序的调试,深入了解MASM汇编语言及其程序设计方法。
二、实验环境EDIT编辑器、MASM汇编程序、LINK连接程序、TD调试程序三、实验过程(一)基础知识储备1.了解微处理器80486的内部结构、寄存器组、工作模式等基本知识。
2.熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能。
3.了解MASM汇编语言及其程序设计方法。
掌握MASM汇编语言的语句格式、语法规则、常用伪指令及DOS功能的调用等。
了解顺序结构、分支结构、循环结构和子程序的设计方法。
(二)汇编语言程序设计1.分析问题,明确要解决的问题和要求。
2.确定解决问题的思路和方法。
3.将解决问题的方案编制成程序流程图。
4.根据流程图,逐条编写程序。
5.上机调试,验证程序是否正确。
(三)汇编程序调试MASM汇编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进行扫描,检查源程序是否有语法错误并指出源程序的语法错误。
汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个步骤:1.编辑:使用编辑程序,将编写好的程序输入计算机,建立一个扩展名为ASM 的汇编语言源文件*.ASM。
2.汇编:使用汇编程序,将*.ASM文件经汇编后生成扩展名为*.OBJ。
第8章 汇编语言程序开发与调试
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程 8.2
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程
返回本章首页
第8章 汇编语言程序开发与调试
汇编语言开发过程
(1)编写程序,建立扩展名为.asm的汇编源程
序文件。
(2)对源程序进行汇编,生成目标文件(.obj)。
;------------------- 子程序ASCII结束--------------------------------------------
另外,对于大多数汇编语言程序都需通过调试才能检验 程序执行结果的。下面我们讨论汇编语言程序的调试方法。
返回本节
第8章 汇编语言程序开发与调试
8.2 汇编语言程序的调试方法
命令来调试程序。
返回本节
第8章 汇编语言程序开发与调试
3. DEBUG的主要命令
在输入提示符“-”后,键入?,然后回车,可以显示 DEBUG命令一览表。下面介绍其中得主要命令。 (1) 显示存储单元的命令D(DUMP),格式为:
-D[address]或_D[range]
例如,按指定范围显示存储单元内容的方法为: -d 100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G ...8.G.....G ... 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37.. ; .. h ..M PQVW. 7 18E4:0120 8B
图 8-7 编译界面
第8章 汇编语言程序开发与调试
同样直接输入demo.obj即可。在连接过程中 会提示我们是否需要生成映像文件.map和库文 件.lib,如下图8-8所示。一般不需要,可以直接 键入Enter跳过去。
汇编语言源程序的运行过程
..汇编语言源程序的运行过程一、概述二、具体操作过程1.编辑过程在计算机“附件”的“记事本”中,用word 编辑汇编语言源程序,比用编辑程序EDLIN 要方便得多。
因为使用后者,必须熟记它的各种命令及其功能。
使用前者的操作步骤如下:第一步:编辑并建立扩展名为ams 的文件开始→程序→附件→记事本→键入汇编语言源程序(也可用Ctrl+C 及Ctrl+V 拷贝已有程序)→文件→另存为→出现“另存为”窗口→在‘文件名:’处为该文件命名,并切记:将扩展名由.txt 改为.asm →在“另存为”窗口里的“我的电脑”中找到含有MASM.EXE 、LINK.EXE 以及DEBUG.EXE 这三个工具的文件夹(如,8086experi ),并双击之→该文件夹名便出现在“保存在:”处→保存(至此,该文件夹中将出现你所编辑的扩展名为asm 的汇编语言源程序。
此时的源程序以ASCII 码形式存盘,而非机器码)→关闭记事本。
注意:上述三个工具及用户程序必须在同一文件夹中。
此后,为显示,打印或修改该程序,双击该程序的图标即可。
第二步:在DOS 下运行EDLIN ,以便查找并排除源程序中可能存在的语法错误。
window 状态→开始→运行→打开:cmd ↙→确定→出现DOS 提示符:C:\……>→指定存有你的程序的文件夹所在盘(如D 盘)为当前盘 D: ↙→D:\>cd 文件夹名↙→在DOS 管理下键入源程序编辑程序 无语法错误的汇编语言调试过程D:\文件夹名>edlin 文件名.asm ↙End of input file* E ↙按结束编辑命令E 之前,生成了一个扩展名为$$$的文件;结束编辑状态之后,该文件的扩展名由$$$变为BAK 。
特别指出:即使不用EDLIN 进行编辑,也必须进行此步。
否则,若源程序中存在语法错误,下一步进行汇编后,不予提示,也不生成机器码文件,无法进行再下一步的连接,致使程序无法运行。
实验二 汇编语言程序上机过程及调试
实验报告二课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名实验日期:2014 年 3 月10 日报告退发(订正、重做)一、实验目的学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。
二、实验内容1、学习使用全屏幕文本编辑软件EDIT。
用EDIT输入一段给定的源程序。
2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到EDIT进行修改。
3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE)4、在DOS提示符下运行该可执行文件。
[汇编语言程序的编写格式]汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。
任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。
段的定义有两种格式,分述如下:1,完整的段定义格式:一个段由段头,段体,段尾组成,形式如下:段名SEGMENT[定位类型][组合类型][‘类别’]……段名ENDS其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。
2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下:DOSSEG.MODEL 存储类型;“存储类型”可选择为SMALL。
.STACK[大小];堆栈段,“大小”指定堆栈的字节数。
.DATA;数据段。
.CODE[名字];代码段;一般只有一个代码段,名字可缺少……例1:用完整的段定义编写一源程序。
NAME EXAM1;可以省略DATA SEGMENT;定义数据段,以下是数据段的内容STR1 DB “HELLO,WELCOME!”,13,10,‘$’STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’STR3 DB “NICE!”,13,10,‘$’STR4 DB “SORRY!”,13,10,‘$’STR5 DB “UNKNOW,ANSWER AGAIN!(Y/N)”,DB 13,10,‘$’STR6 DB “SEE YOU NEXT TIME!”,13,10,‘$’DA TA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSUME CS:CODE;DS:DATA;以下是代码段内容START:MOV AX,DA TA;给数据段寄存器赋值MOV DS,AXMOV AH,9;显示一字符串的功能号MOV DX,OFFSET STR1;显示字符串STR1的偏址INT 21H;DOS功能调用ASK :MOV DX,OFFFSET STR2;显示字符串STR2INT 21HMOV AH,1;键盘输入一字符的功能号INT 21H;键入的字符ASCⅡ码在ALNOT AL;求反TEST AL,‘Y’;是否按下‘Y’或‘y’键JE NEXT1TEST AL,‘y’JE NEXT1TEST AL,‘N’;是否按下‘N’键或‘y’键JE NEXT2TEST AL, ‘n’JE NEXT2MOV DX,OFFSET STR5;不是按上述键MOV AH,9INT 21HJMP ASK;再返回ASKNEXT1:MOV DX,OFFSET STR3;是按下‘Y’或‘y’键MOV AH,9INT 21HJMP BYENEXT2:MOV DX,OFFSET STR4;是按下‘N’或‘n’键MOV AH,9INT 21HBYE:MOV DX,OFFSET STR6INT 21HMOV DL,7;喇叭响的ASCⅡ码MOV AH,2INT 21HMOV AH,4CH;退回DOSINT 21HCODE ENDS;代码段结束END START;源程序结束注:源程序中的每一行注释语句前一定要加分号‘;’,下同。
第4章汇编语言程序设计及编程实例
DW 定义字命令
ORG 1500H TABLE:DW 7234H,8AH,10H
┇ 经汇编后(1500H)=72H,
(1501H)=34H, (1502H)=00H, (1503H)=8AH, (1504H)=00H, (1505H)=10H,
DS 定义存储空间命令
格式:DS 表达式 功能:在汇编时,从指定地址开始保留DS之后表达式的值所 规定的存储单元以备后用。 例如: ORG 1000H DS 08H DB 30H,8AH 汇编后,从1000H保留8个单元,然后从1008H按DB命令给内 存赋值,即(1008H)=30H (1009H)=8AH
三、画程序流程图
程序流程图是使用各种图形、符号、有向线段等来说明程序 设计过程的一种直观的表示。 流程图步骤分得越细致,编写程序是也越方便。 画流程图是程序结构设计是采用的一种重要手段。 一个系统软件有总的流程图(主程序框图)和局部的流程图。 流程图常采用的图形和符号。
椭圆框 矩形框 菱形框 圆圈 指向线
一、分析问题
对需要解决的问题进行分析,以求对问题由正确的 理解。如, 解决问题的任务是什么? 工作过程? 现有的条件,已知数据,对运算的精度和速度方面 的要求? 设计的硬件结构是否方便编程?
二、确定算法
算法是如何将实际问题转化成程序模块来处理。 在编程以前,先要对几种不同的算法进行分析、比 较,找出最适宜的算法
一、手工汇编 二、机器汇编 三、反汇编
一、手工汇编
通过手工方式查指令编码表,逐个把助记符指令 “翻译”成机器码,然后把得到的机器码程序键入 单片机,进行调试和运行。 手工汇编的缺点:
1、偏移量的计算容易出错 2、程序的修改会引起后面指令地址的变化,转移 指令的偏移量也要重新计算。
汇编语言源程序运行步骤和DEBUG的使用
汇编语言源程序运行步骤和DEBUG的使用汇编语言是一种低级语言,用于编写计算机硬件的指令。
编写汇编语
言源程序后,需要经过一系列步骤才能在计算机上运行。
同时,调试工具DEBUG可以帮助程序员查找和修复程序中的错误。
一、汇编语言源程序运行步骤:
2.汇编:将源程序转化为机器码指令的过程称为汇编。
通过使用汇编
器(如MASM、NASM等),可以将源程序翻译成可执行的机器码文件。
在
汇编的过程中,所有的指令和操作数都被翻译成计算机可以理解的二进制
形式。
3. 链接:链接是将目标文件和库文件组合成一个可执行文件的过程。
当汇编源程序时,可能会调用外部库函数,这些函数的实现通常包含在库
文件中。
链接器(如link.exe)负责将这些函数和源程序连接起来,最
终生成一个可执行文件。
4.运行:通过操作系统加载可执行文件到内存中,并开始执行。
在运
行过程中,CPU按照程序的指令一步一步地执行,计算、存储和传输数据。
执行过程中,程序可能会从输入设备读取数据并输出结果。
二、DEBUG的使用:
DEBUG是一个DOS系统中内置的调试工具,可用于查找和修复程序中
的错误。
它通过允许程序员直接与内存、寄存器和指令交互,提供了一种
直观、低级的调试方式。
1.启动DEBUG:在DOS命令行中输入DEBUG命令,启动DEBUG程序。
DEBUG启动后,会显示一个":"提示符,等待用户输入指令。
汇编语言第十二次课
begin
(3)用MASM程序产生OBJ文件
C>MASM MYFILE . ASM
Microsoft (R) Macro Assembler Version 5.10
Copyright (C) Microsoft Corp 1981,1988.All rights reserved.
Object filename [MYFILE.OBJ]:
2) 定位类型 (表示当前段对起始地址的要求,从而指
示连接程序如何连接相邻两段) (1)PARA:表示本段必须从能被16整除的地址处开始存放, 即段起始地址最低四位必须是0。 (2)WORD:表示本段要从一个偶数地址处开始存放,即段 起始地址的最低一位必须是0。 (3)BYTE:表示本段起始地址可以从任一地址处开始存放。 (4)PAGE:表示本段要从能被256整除的地址处开始存放, 即起始地址的最低八位必须是0。 默认为 PARA
例:请画出下列指令后存储器里内容的示意图 XX DB 12,0,0E4H,‘AB’ YY DW 5,?,6*3,‘AB’ ZZ DB 8,3DUP(2),-6
例:若有变量定义
DAB1 DB 20,20,20,20,20 DAB2 DB 5DUP(20) DAW1 DW 20,20,20,20,20 DAW2 DW 5DUP(20) DAD1 DD 20,20,20,20,20 则 TYPE DAB1=1,TYPE DAB2=1 DAD2 DD 5DUP(20) TYPE DAW1=2,TYPE DAW2=2 TYPE DAD1=4,TYPE DAD2=4 LENGTH DAB1=1, LENGTH DAB2=5 LENGTH DAW1=1, LENGTH DAW2=5 LENGTH DAD1=1, LENGTH DAD2=5 SIZE DAB1=1,SIZE DAB2=5 SIZE DAW1=2,SIZE DAB2=10 SIZE DAW1=4,SIZE DAB2=20
编辑,汇编(川大微机原理实验资料和内容以及MASM使用方法)
在"开始"找到运行单击在运行中输入CMD输入CD空格\(反斜杠),(进入C盘根目录)输入F:(进入F盘)输入CD空格MASM(进入MASM文件夹)输入MASM空格0817.ASM(检查0817.ASM有无错误并生成.OBJ文件),直到没错输入LINK空格0817.OBJ(进行连接)输入0817.EXE运行汇编语言应用程序的开发一.汇编语言应用程序的开发过程开发一个可独立运行的汇编语言程序,主要包括以下基本步骤:1.用文本编辑软件编辑汇编语言源程序模块(SOURCE MODULES)。
一个完整的汇编语言源程序,可以是单模块结构格式,也可以是多模块结构格式。
无论采用哪一种结构格式,每一个模块都必须是一个可独立汇编的源程序文件(扩展名为.ASM)。
常用的文本编辑软件如EDIT,QEDIT,PE,或由其他高级语言(如TC,VC等)提供的编辑环境,都可以用来编辑汇编语言源程序。
2.调用宏汇编程序MASM对源程序的每一个模块进行汇编(包括对宏的处理),生成目标文件.OBJ。
在汇编过程中,MASM将对源程序模块进行语法检查,若有语法错误,则在汇编结束时,将错误信息显示出来。
这时程序设计者就得返回第二步,再调用编辑程序,并根据提示信息,对有语法错误的语句进行修改,然后再重新进行汇编,直到MASM未发现语法错误为止。
在汇编过程中,出了对每一个源程序模块文件都要生成对应的目标文件.OBJ外,还可以选择生成列表文件.LST和交叉引用文件.CRF,以提供调试时使用。
在汇编时产生的错误,通常称为语法错误。
注意:在汇编过程中不能发现程序的逻辑功能错误。
3.调试连接程序LINK,对一个或多个目标文件.OBJ进行连接,生成一个可执行文件.EXE。
这里所说的目标文件,有的可能是在汇编时产生的,有的可能是由某个库文件.LIB 提供的。
在连接过程中,还可以选择生成内存映像文件.MAP,以供在调试程序时使用。
在连接过程中,如果发现有错误,也会将错误信息显示在屏幕上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言源程序的编辑与调试过程
1.怎样在TD环境下载入被调试程序?
答:方法1:转到TD.EXE 所在目录,在DOS 提示符下键入以下命令:
C:\ASM>TD↙
进入TD后,按Alt-F键打开File 菜单,选择Open,在文件对话框中输入要调试的程序名,按
回车。
方法2:转到TD.EXE 所在目录,在DOS 提示符下键入以下命令(假定要调试的程序名为HELLO.EXE):
C:\ASM>TD HELLO.EXE↙
方法3:在Windows 操作系统中,打开TD.EXE 所在目录,把要调试的程序图标拖放到
TD 的
图标上。
2.在TD环境下如何编辑汇编指令?
答:
(1)用Tab键选择代码区为当前区域;
(2)用方向键把光标移到期望的地址处,如果是输入一个新的程序段,建议把光标移到CS:0100H处;
(3)打开指令编辑窗口,有两种方法:
一是在光标处直接键入汇编指令,在输入汇编指令的同时屏幕上就会自动弹出指令的临时编辑窗口。
二是用Alt-F10键激活代码区局部菜单,选择其中的汇编命令,屏幕上也会自动弹出指令
的临时编辑窗口。
(4)在临时编辑窗口中输入/编辑指令,每输入完一条指令,按回车,输入的指令即可出现在
光标处(替换掉原来的指令),同时光标自动下移一行,以便输入下一条指令。
3.在TD环境下如何查看/修改数据段的数据?
答:
(1)用Tab键选择数据区为当前区域;
(2)使用局部菜单中的“Goto”命令并结合使用方向键把光标移到期望的地址单元处(注意数
据区的光标是一个下划线),数据区就从该地址处显示内存单元的内容。
(3)若要修改该地址处的内容,则需打开数据编辑窗口。
有两种方法:
一是在光标处直接键输入数据,在输入数据的同时屏幕上就会自动弹出数据编辑窗口。
二是用Alt-F10键激活数据区局部菜单,选择其中的“Change”命令,屏幕上也会弹出数据编
辑窗口。
(4)在数据编辑窗口中输入所需的数据,输入完后,按回车,输入的数据就会替代光标处的原
始数据。
4.在TD环境下如何修改寄存器内容?
答:
(1)用Tab键选择寄存器区为当前区域;
(2)用方向键把光标移到要修改的寄存器上;
(3)打开编辑输入窗口。
有两种方法:
一是在光标处直接键入所需的值,在键入的同时屏幕上就会自动弹出编辑输入窗口。
二
是用Alt-F10键激活寄存器区局部菜单,选择其中的“Change”命令,屏幕上也会弹出编
辑
输入窗口。
(4)在编辑输入框中键入所需的值,然后回车,这个新的值就会取代原来该寄存器的内容。
5.在TD环境下修改某个标志位内容,怎样操作?
答:
(1)用Tab键选择标志区为当前区域;
(2)用方向键把光标移到要修改的标志位上;
(3)按回车键或空格键即可使标志位的值在0、1之间变化。
6.指定程序的起始执行地址怎样操作?
答:方法一:
(1)用Tab键选择代码区为当前区域;
(2)用Alt-F10键激活代码区局部菜单,选择局部菜单中的“New CS:IP”命令。
方法二:
(1)用Tab键选择寄存器区为当前区域;
(2)用方向键把光标移到CS寄存器上,输入程序起始地址的段地址。
(3)用方向键把光标移到IP 寄存器上,输入程序起始地址的偏移量。
7.在TD环境下怎样单步跟踪程序的执行?
答:(1)用上述第6条中的方法首先指定程序的起始执行地址;
(2)按F7或F8键,每次将只执行一条指令。
注:若当前执行的指令是CALL 指令,则F7将跟踪进入被调用的子程序,而F8则把
CALL指令
及其调用的子程序当作一条完整的指令,要执行完子程序才停在CALL指令的下一条指令上。
8.在TD环境中,若只执行程序的某一部分指令,怎样处理?
答:方法一:用设置断点的方法。
(1)用上述第6条中的方法首先指定程序的起始执行地址;
(2)用方向键把光标移到要执行的程序段的最后一条指令的下一条指令的起始处(注意,不能
移到最后一条指令上,否则最后一条指令将不会被执行),按F2设置断点。
也可按Alt-F2键,
然后在弹出的输入窗口中输入断点地址。
(3)按F9键执行,程序将会停在所设置的断点处。
方法二:用“运行程序到光标处”的方法。
(1)用上述第6条中的方法首先指定程序的起始执行地址;
(2)用方向键把光标移到要执行的程序段的最后一条指令的下一条指令上(注意,同方法一)。
(3)按F4 键执行程序,程序将会执行到光标处停下。
方法三:用“执行到指定位置”的方法。
(1)用上述第6条中的方法首先指定程序的起始执行地址;
(2)按Alt-F9,在弹出的输入窗口中输入要停止的地址(即要在哪条指令起始处暂停,就
输
入哪条指令的地址),按回车,程序将会执行到指定位置处暂停。
9.被调试程序的显示输出看不见怎么办?
答:在TD环境下按Alt-F5键。
10.用MASM编译时产生警告错误会影响结果吗?
答:会。
警告错误是指仍然生成目标代码,并非是指目标代码是正确的。
11.在WIN2000和WINDOWS XP 环境中可以使用命令行方式的EDIT编辑器和调试程序DEBUG吗?为什么点击该程序时会出现:Incorrect DOS version 的错误信息?
答:EDIT和DEBUG属于系统命令程序文件,运行前要核对版本号,WIN98/ 2000 /XP 有各自
配套的系统命令文件,使用上述两个软件时必须注意版本匹配。
WIN98的命令文件放置在WINDOWS (或WIN98)文件夹下的COMMAND子文件夹中;WIN2000/XP 的系统命令文件路
径一般为:WINDOWS\SYSTEM32 或WINNT\SYSTEM32。
12.若使用DEBUG调试运行程序,如何装入程序?
答:在命令行界面输入:DEBUG ABX . EXE 或双击DEBUG图标,之后在DEBUG 窗口中输
入:n ABC. EXE / L100 两条命令;运行程序即被载入。
13.在汇编语言源程序中怎样加入中文注释?
答:用记事本或C++编辑器编辑源程序。
但须注意中英文切换,源程序中必须使用英文标
点符
号。
14.用记事本工具编辑源程序,主名为123_ABCDEF . ASM,为什么编译程序MASM报告找
不到该文件?
答:MASM遵循MS-DOS的命名原则,即文件主名最长为8个字符,上述文件主名超过了规定。
15.用记事本工具编辑源程序,取名为123 . ASM,为什么编译程序MASM报告找不到该文
件?
答:出现此种情况,往往123. ASM 并非文件名的全部,其最后的扩展名仍是.TXT,解决的办
法是:点击“我的电脑”或“资源管理器”在“查看”或“工具”菜单中选择“文件夹选项”,
选择“查看”选项卡,将其中的“隐藏已知文件类型的扩展名”选项取消,可显示全部文
件名,
再为文件重新命名。
16.已在程序中设有如下定义:STACK SEGMENT / DB 200 DUP(0) / STACK ENDS / 为
什么LINK 仍然警告:no stack segment?
答:将段定义修改为:STACK SEGMENT STACK ;后面的STACK项是组合类型,即不再
出现警告信息。
17.使用DEBUG调试程序,如何设置断点?
答:例如,在DEBUG命令窗口中输入:G=100,0150;表示从代码段偏移地址100H 执行到150H
处中断,届时可通过各寄存器及存储器察看程序的中间结果。
18.用TD 调试一个显示字符串的程序,当单步运行至:/ MOV AL, 09 / INT 21H/ 语句后,
程序似乎变得冗长难耐,是什么原因?
答:在INT 21H 处单步运行,即进入了DOS 系统调用中断程序服务程序,其中包含了从0 ~62H
个功能子程序,用参数AH区分。
9号功能只是其中一个分支,内中还要有输入输出底层处理。
运行至此,应该将TD窗口的光标置于INT下一条语句前,按F4键,即以光标所在处为断点,就可自动执行完该调用程序。