汇编语言上机调试流程

合集下载

实验一、汇编语言程序的上机过程及调试

实验一、汇编语言程序的上机过程及调试

实验一、汇编语言程序的上机过程及调试<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),便会出现三次提问,在这可以一路回车即可。

8086汇编语言上机调试及基本操作

8086汇编语言上机调试及基本操作

深 圳 大 学 实 验 报 告课程名称: 微机原理实验实验名称: 8086汇编语言上机调试及基本操作学院: 物理科学与技术学院组号: 指导教师: 李雄军报告人:林成业 学号: 2012180073实验地点: 科技楼302 实验时间:2014年9月24日实验报告提交时间: 2014年10月15日得分 教师签名 批改日期课程编号题目类型一、实验目的:(1)掌握常用DEBUG命令: G,D,R,T,U,Q。

(2)掌握工具软件EMU8086。

(3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。

(4)掌握简单的数值转换算法二、实验原理1.实验说明:计算机中的数值有各种表达方式,这是计算机的基础。

掌握各种数制之间的转换是一种基本功。

2.程序框图:对于0-999(即000H-3E7H)范围内的二进制数3.参考程序:; 将AX中的三位数拆为三个BCD码, 并存入Result 开始的三个单元DATA SEGMENT; 数据段RESULT_1 DB 1RESULT_2 DB 1RESULT_3 DB 1DATA ENDSSTACK SEGMENT STACK ; 堆栈段STA DB 64 DUP(0)STACK_TOP DB 0STACK ENDSCODE SEGMENT; 代码段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTART:MOV AX, DATAMOV DS, AX ; 设置数据段MOV AX, STACKMOV SS, AX ; 设置堆栈段LEA SP, STACK_TOP ; 设置栈顶指针MOV AX, 2afHMOV CL, 100DIV CLMOV RESULT_1, AL ; 除以100, 得百位数MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT_2, AL ; 余数除以10, 得十位数MOV RESULT_3, AH ; 余数为个位数MOV AX,4C00H ; 返回DOSINT 21H ;CODE ENDSEND START ; 最后一行要按回车键三、实验及报告要求:1)用合适的编辑软件编辑以上源文件并存入合适目录;要求补充注释未注释的伪指令和指令;2)分别在DOS和Windows下编译、连接生成可执行文件,比较两个环境下生成的机器码的长度和内容;试指出第2、5、7、10、14条指令的IP和机器码。

实验一汇编语言程序上机过程与调试

实验一汇编语言程序上机过程与调试

实验⼀汇编语⾔程序上机过程与调试实验⼀汇编语⾔程序上机过程与调试(基本指令实验)⼀、实验⽬的1、熟悉80X86寻址⽅式及基本指令的功能,进⼀步理解和巩固课堂学习的内容。

2、掌握汇编语⾔程序设计上机过程和汇编语⾔源程序结构,为后续汇编语⾔程序设计打好基础。

3、熟悉Masm for windows集成实验环境,以及DEBUG、CODEVIEW调试⼯具的使⽤⽅法。

⼆、实验预习要求1、熟悉汇编语⾔程序设计上机步骤,熟悉DEBUG、CODEVIEW调试⼯具的使⽤⽅法。

2、复习80X86操作数寻址⽅式及基本指令。

3、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运⾏环境的问题除外),以便在实验时进⾏验证。

三、实验内容(⼀)、读懂下列源程序,使⽤Masm for windows集成实验环境⽣成名为EX11.ASM的源程序,汇编⽣成EX11.OBJ⽂件和EX11.LST⽂件,连接⽣成EX11.EXE⽂件;⽤EDIT 或记事本打开EX11.LST⽂件,了解.LST⽂件包含的信息;使⽤DEBUG 和CODEVIEW调试⼯具单步执⾏EX11.EXE程序,注意观察IP值的变化,并回答下列问题。

1. 程序装⼊后,代码段寄存器CS的内容为0B68 H,代码段第⼀条可执⾏指令:MOV AX,DATA对应的机器代码为B81A0B H,它是⼀个3 个字节的指令,注意观察执⾏该指令时IP值的变化情况,该指令源操作数DATA的寻址⽅式是直接寻址,其值为0B6A 。

2. 执⾏完MOV DS,DA TA指令后,DS的内容为0B6A H,源程序在数据段中定义的数据82H,68H,88H被装⼊的存储单元的物理地址分别是0B6A0 H,0B6A1H,0B6A2H.3. 程序中第⼀条ADD AL,[BX]指令对应的机器代码为0207 H,它是⼀个2个字节的指令,注意观察执⾏该指令时IP值的变化情况;该指令源操作数的寻址⽅式是直接寻址,该操作数所在存储单元的逻辑地址(DS):(BX)为0B6A:0001 ,其物理地址为0B6A1H;执⾏完该指令后(AL)= EA H,CF= 0 ,OF= 0 ,ZF= 0,SF= 1 ,AF= 0 ,PF= 0 ;若两操作数为⽆符号数,计算结果是否正确?z 若两操作数为带符号数,计算结果是否正确?z若计算结果正确,结果是正数还是负数?f4.执⾏完第⼆条ADD AL,[BX]指令后(AL)= 72 H,CF= 1 ,OF= 1 ,ZF= 0 ,SF= 0,AF= 1 ,PF= 1 ;若两操作数为⽆符号数,计算结果是否正确?B 若两操作数为带符号数,计算结果是否正确?B5.指令MOV SUM,AL中,⽬的操作数的寻址⽅式为直接寻址。

汇编语言上机步骤

汇编语言上机步骤

(3)用LINK程序产生EXE文件 【例4-29】 C:\masm>link exam.obj↙ Microsoft(R)Overlay Linker Version3.60 Copyright(C)Microsoft Corp 1983-1987. Allrights reserved RunFile [exam.EXE]:↙ ListFile [NUL.MAP]: Libraries [.LIB]:
(5)程序的调试
【例4-30】 先进入DEBUG并装入要调试的程序 exam.exe。 键入如下: C:\masm>debug exam.exe DEBUG以短线“-”作为提示符,用户在提示符 后就可以使用DEBUG命令来调试程序。 DEBUG的主要命令有U、G、e)。
汇编语言上机步骤
薛 花 2009-11-3
汇编语言程序的上机过程与调试
1.汇编语言的工作环境 ① 操作系统DOS。 ② 编辑程序。 ③ 汇编程序:MASM.EXE。 ④ 连接程序:LINK.EXE。 ⑤ 辅助工具:DEBUG。
2.建立和运行汇编语言程序的过程
(1)源程序的输入和修改 (2)汇编
【例4-27】
【例4-28】
源程序的文件名为exam.asm,宏汇编程序的路径为 C:\\masm\masm.exe。 操作与汇编程序的应答如下: C:\masm>masm exam.asm ↙ Microsoft(R)Macro Assembler Version 5.00 Copyright(C)Microsoft Corp 1981-1985,1987. Allrights reserved Object filename [exam.OBJ]:↙ Source listing [NUL.LST]: Cross-reference [NUL.CRF]: 0 Warning Errors 0 Severe Errors

汇编语言上机调试步骤

汇编语言上机调试步骤
汇编语言上机调试步骤
(A+B)*(C-D)为例
1.编辑原文件 编辑原文件
A)在cmd下,用edit编写扩展名为.asm的原文 件,知道原程序文件存放的路径。 B)在记事本下编写原程序,扩展名为.asm。
2.生成 生成.obj文件 生成 文件
利用汇编程序masm把原文件生成obj文件。 具体步骤如图:
使用debug 把应用程序调入内存 u反汇编命令
注意观察 AX,DS
r 显示或改变一个或多个 CPU 寄存器的内容。
注意观察 AX,DS 单步调试命令(或跟踪命令)
下一步执行的指令
注意观察DS D(转储)示一定范围内存地址的内容。
观察这些 数据
观察这些 数据
观察AX的低8位
观察A 果
在运行下输入cmd,进入到masm下面: ,进入到 下面: 在运行下输入 下面
原程序路径 及原程序
生成的目标程序及 其位置
原程序是否有语法错误,如果没 有生产obj文件,否则不能生成 obj文件。
Link生成 生成exe文件 生成 文件
link命令输入 obj文件所在位置
exe文件所在位置
调试程序观察值

5.5汇编程序上机调试过程

5.5汇编程序上机调试过程

TTT:
MOV INC JMP
[BX+SI],ALFra bibliotekBBB:
MOV MOV MOV MOV MOV MOV MOV INT JMP
PPP: CODE
MOV INT ENDS END
AX,4C00H
EDIT建立汇编语言源程序 5.6.1 用EDIT建立汇编语言源程序 在 DOS 状 态 下 , 调 用 EDIT 编 辑 程 序 建 立 文 件 名 为 的汇编源程序,如图5-8所示。 C:\>EDIT WANG.ASM↙
装入磁盘上指定内容到存储器 装入指定文件 把数据写入磁盘指定的扇区 把数据写入指定的文件
-Q
退出DEBUG
§5.6 汇编语言程序运行实例
本节中通过一个汇编语言源程序的实际例子,来了解汇 编语言源程序的建立、汇编、连接、运行的过程。 给出的程序是将键盘输入的小写字母转换成大写字母的 程序并显示在屏幕上。设定源程序名为WANG.ASM。
键入以下命令: C:\>EDIT ABC.ASM↙ 此时屏幕的显示状态如图5-4所示。
5.5.3将源程序文件汇编成目标程序文件 在对源程序文件进行汇编时,汇编程序将对.ASM文件进 行二遍扫描。如果源程序文件中出现语法错误,则汇编结 束后将指出源程序中的错误,这时可用编辑程序再次修改 源程序中的错误,然后再次汇编,直到最后得到没有错误 的目标程序,即扩展名为.OBJ文件。 一般情况下,汇编程序的主要功能有以下3点: (1) 检查源程序中存在语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文 件,扩展名为.OBJ。 若程序中使用了宏指令,则汇编程序将展开宏指令。
1.DEBUG程序的调用 . 程序的调用 在DOS的提示符下,可以直接键入命令,如图5-7所示 C:\>DEBUG ABC.EXE↙

实验二-汇编语言程序的上机步骤

实验二-汇编语言程序的上机步骤

实验二汇编语言程序的上机步骤一、实验目的熟练掌握汇编语言程序的上机步骤和程序调试方法。

二、实验内容及步骤1.通过CMD命令进入DOS方式。

2.通过CD命令和MD命令建立和进入用户程序目录。

3.将实验一笑脸程序补充为一个完整的汇编语言程序。

4.熟读第五部分内容:环境简介5.通过编辑——汇编——连接步骤生成.EXE形式的笑脸程序Smile.exe。

6.运行Smile.exe程序,观察运行结果。

7.用“DUBUG Smile.exe”命令将Smile.exe程序装入内存,通过R命令读取Smile.exe程序在内存的地址。

8.用反汇编U命令观察笑脸程序。

9.重复实验一“使用DEBUG调试程序”中的步骤(4)和(5),观察程序运行结果。

10.验证题以下程序段用以显示信息“Press any key when you ready.”。

在用户按下任一键后,另起一行显示信息“Input your password:”。

DSEG SEGMENT use16MESS1 DB ‘Press any key when you ready’,0AH,0DH,‘$’MESS2 DB ‘Input your password:’,’$’DSEG ENDSSSEG SEGMENT STACKDB 80H DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGSTART:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21H ;显示“press any key when you ready.”MOV AH,08HINT 21H ;等待用户按任一键MOV DX,OFFSET MESS2MOV AH,09HINT 21H ;显示“Input your password:”MOV AH,4CHINT 21HCSEG ENDSEND START三、实验要求认真完成实验每一步骤,详细记录实验过程、现象和结果,及时整理实验报告。

汇编上机过程及DEBUG调试

汇编上机过程及DEBUG调试

汇编语言的一般上机操作过程一、上机前的软件准备●MS-DOS操作系统(如:MSDOS6.2、MSDOS7.0等)●文本编辑器(如:记事本、等)●汇编程序(如:MASM.EXE、ASM.EXE等)●连接程序(如:LINK.EXE等)●调试程序(如:DEBUG.EXE等)二、汇编语言程序的建立过程在编辑软件支持下,将源程序输入到计算机中。

注意:汇编语言源程序的扩展名为.ASM。

可使用任意一种文本编辑工具来建立和编写汇编语言源程序,例如,Word、Notepad、记事本等。

在MS-DOS下也可以使用其自带的文本编辑器EDIT。

使用方法是在DOS提示符下输入EDIT后回车,进入EDIT的操作界面后即可编写汇编语言源程序,完成编写后,将文件保存后缀名为.ASM的汇编源文件。

2.利用宏汇编程序对汇编源程序.ASM进行汇编,产生.OBJ文件利用宏汇编程序MASM对汇编源程序(扩展名为.ASM)进行汇编,产生扩展名为.OBJ的可重定位的目标代码。

MASM是一个宏汇编软件,使用时后面跟所要汇编的源程序名即可。

格式如下:C:\>MASM filename(.asm) 回车当屏幕上显示一些版权信息后会出现几个提示信息,如:要求输入目标文件名;询问是否建立列表文件(扩展名为.LST);询问是否建立交叉索引文件(扩展名为. CRF)。

Object filename [filename.OBJ]:回车Source listing [NUL.LST]:回车Cross-reference [NUL.CRF]:回车当上述问题回答完毕,MASM即开始汇编工作。

MASM对源程序进行汇编将采用两遍扫描方式,每一遍扫描都以遇到END伪指令作为结束点。

第一遍扫描是检查名字并产生一个符号表,确定每个变量名和符号的相对位置;第一遍扫描就将产生目标文件,并根据用户需要产生列表文件和交叉索引文件。

最后,经汇编后的上述源文件将生产3个文件,其中目标文件是一个二进制文件,供连接使用;列表文件是一个文本文件,它会列出源程序及相应的目标程序清单,同时给出符号表,表中分别给出段名、段的大小属性。

8086汇编语言上机调试步骤.

8086汇编语言上机调试步骤.

8086汇编语言上机调试步骤1、在网络课堂-微机原理与接口技术-实验指导-汇编工具下载,下载汇编工具并解压,文件夹名为“masm”。

2、用鼠标点击“masm”文件夹。

进入该文件夹后将看到 MASM.EXE,LINK.EXE , DEBUG.EXE3个文件进行复制操作。

3、用鼠标点击“我的电脑”再点击D: 盘,并在 D: 盘上建立新的“ MASM”文件夹,最后将上面的3个文件全部复制到该文件夹中。

(注意实验所有的文件都放在该文件夹内4、用文本编辑软件UltraEdit-32、WINDOWS 中的记事本或其它的文本编辑器输入汇编语言程序, 注意在最后一行的 END输入完后要按一次回车键,保存的源文件的扩展各一定要是“.asm”如: example.asm 。

(建议用记事本输入源程序,另存时,保持类型选择“所有文件”如图所示5、进入MS-DOS方式 ( 从开始>程序>附件>命令提示符或者(从程序 > 运行输入“cmd”回车,进入MS-DOS环境。

6、进入D:>MASM文件夹7、显示MASM文件夹内所有文件“dir”命令8、在 DOS 提示符下进行汇编、连接、动态调试等操作。

例如: 对源文件 example.asm 进行的操作D:\MASM\MASM example.asm;汇编源程序操作D:\MASM\LINK example.dbj;连接并生成扩展名为 .EXE 的可执行文件D:\MASM\DEBUG example.exe;对可执行文件进行调试9、要求掌握的调试命令(在 DEBUG 中使用的命令a: U - 反汇编命令用法: -U 代码段地址:起始偏移地址如:-U CS:100b: D - 显示内存中的数据命令用法: -D 数据段地址:存放数据的偏移地址如:-D DS:00 20c: T - 单步执行程序命令用法: -T 要执行的指令条数如:-T 3d: G - 连续执行程序命令用法: -G=代码段地址:指令的起始偏移地址指令的结束偏移地址如: -G=CS:100 106注意: 结束地址一定要是操作码的所在地址e: R - 查看和修改寄存器数据命令用法: -R 回车如:-R AXf: F - 对内存单元填充数据命令用法: -F 数据段地址:偏移首地址偏移未地址填入的数据如: -F DS:100 120 ffg: Q - 退出”DEBUG“应用程序命令10、应用例子;二进制到BCD转换(a.asm;将给定的一个二进制数,转换成二十进制(BCD码DATA SEGMENT RESULT DB 3 DUP(?DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, 123MOV CL, 100DIV CLMOV RESULT, AL ; 除以 100, 得百位数MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT+1, AL ; 余数除以 10, 得十位数MOV RESULT+2, AH ; 余数为个位数JMP $ CODE ENDSEND START汇编源程序操作:D:\MASM>MASM a.asm ;D:\MASM>LINK a.OBJ;对可执行文件进行调试的操作:D:\MASM>DEBUG A.EXE--U CS:0000 ;用反汇编命令”U 代码段地址:起始偏移地址“显示出程序的表示符执行程序前观察内存中的数据-D DS:0000 ;用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址”显示内存中的数据-G=CS:0000 001E ;连续执行程序命令代码段地址:指令的起始偏移地址指令的结束偏移地址执行程序后观察内存中的数据(结果-D DS:0000 ; 用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址”显示内存中的数据-R IP 修改IP寄存器中的数据IP 001E 显示修改前的数据:00 输入修改的数据-T ;单步执行程序命令(执行一条指令-T3 ;执行3条指令-R -R AX AX 007B :1111 -R ;查看寄存器数据命令;查看和修改寄存器数据命令;查看寄存器数据命令 -D DS:0000 ;用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址” 显示内存中的数据 -F 数据段地址:偏移首地址偏移未地址填入的数据 -F DS:0000 0030 DF ;对内存单元填充数据 -D DS:00 ;观察内存中的数据-Q ;退出”DEBUG“ 应用程序命令。

实验一汇编语言上机及Debug调试

实验一汇编语言上机及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文件。

实验二 汇编语言程序上机过程

实验二  汇编语言程序上机过程

实验二汇编语言程序上机过程实验目的:熟悉8086/88汇编语言编程格式及上机设计调试过程。

如图5-1所示。

实验器材:计算机一台,DOS或WINDOWS环境,、MASM.EXE、LINK.EXE、DEBUG.EXE 等程序文件。

实验内容及步骤:1、编辑录入源程序建议EDIT后的文件名不要省略,源程序扩展名必须为ASM,不能省略。

EDIT界面如图6-1所示,激活菜单用鼠标单击或ALT+菜单名的第一个字母。

最常用的文件下拉中Save(保存)、Exit(退出,若未存盘会提示是否存盘)两个命令,如果未存盘选择Exit则会弹出如图6-2所示的对话框询问是保存退出(Yes)、不保存退出(No)、取消返回继续编辑(Cancel)。

例如:执行如下命令图6-1 EDIT的基本界面图6-2 EDIT的Exit命令对话框2、汇编汇编命令格式如下:建议源程序基本名不要省略。

例如:;扩展名“.ASM”可省略若没有错误显示如下:Microsoft (R) Macro Assembler Version 5.10Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.Object filename [aa.OBJ]: ;目标文件名Source listing [NUL.LST]: ;源程序列表文件,加行号便于查错Cross-reference [NUL.CRF]: ;交叉参考文件,名字信息49576 + 420869 Bytes symbol space free0 Warning Errors ;警告错误0 Severe Errors ;严重错误,若有此类错误,不能生成目标OBJ文件有关错误信息的含义请参看教材附录C。

如果省略源程序名则第一个提示信息为:Source filename [.ASM]: ;源程序文件名3、连接连接命令格式如下:建议目标程序基本名不要省略。

汇编语言程序的上机过程及调试.

汇编语言程序的上机过程及调试.

三、连接程序
用连接程序(LINK)将若干目标模块连同库子程序 连接在一起,产生可执行文件(文件名.EXE)
四、运行调试 DEBUG
DEBUG 程序是专门为汇编语言设 计的一种调试工具,它通过单步、跟 踪、断点和连续等方式为程序员提供 了非常有效的调试手段。
格式: DEBUG [驱动器][路径][文件名][参数]
4. 汇编语言程序的上机过程及调试
编辑汇编语言源程序
汇编源程序 连接程序 运行调试
一、编辑汇编语言源程序
使用一种文本编辑软件(word、记事本、写 字板等),编辑保存一个 “文件名.ASM ”的 汇编语言源程序文件。
二、汇编源程序
用宏汇编(MASM)对汇编源程序进行汇编, 产生目标程序(文件名.OBJ)
求:
AX=___________ CX=___________
BX=___________
MOV AX,1200H
例 2:
MOV BX,3400H MOV CX,5600H
PUSH CX
PUSH AX PUSH BX POP CX POP AX
POP BX
AX=___________ CX=___________ BX=___________
修改内存单元内容 运行
装入 文件名 推出 显示和修改寄存器内容 跟踪 反汇编
写盘
W
把指定地址或CS:100开始的内存块(块字节长度由 BX:CX指定)以N命令给出的文件名写入磁盘
MOV AXቤተ መጻሕፍቲ ባይዱ1234H
例 1:
MOV BX,4321H MOV CX,AX
MOV AX,BX
ADD BX,CX HLT
DEBUG主要命令表

汇编语言程序的上机调试步骤

汇编语言程序的上机调试步骤

CRF文件
这个文件用来产生交叉引用表REF文件,对 于一般程序不需要建立此文件。若你想建立交叉引 用表文件,就需要先建立CRF文件。 要建立REF文件,需调用CREF程序。
建立交叉引用表文件(.ref)
交叉引用表文件LX.ref的内容
交叉引用表给出了用户定义的所有符号,对于每 个符号列出了其定义
LINK程序有两个输出文件:EXE文件和MAP文件 MAP文件是连接映象文件,它给出每个段 在存储器中的分配情况。
LX.MAP文件的内容
五、执行产生的EXE程序
六、用DEBUG调试程序
用反汇编命令U来确定我们所要设定的断点地址。
用G命令运行程序,同时设定断点OFH
2、LST列表文件
3、CRF文件,这个文件用来产生交叉引用表REF文件
LST列表文件
列表文件同时列出源程序和机器语 言程序清单,并给出符号表,因而可使程 序调试更加方便。 LST清单的最后部分为段名表和符 号表,表中分别给出段名,段的大小及有 关属性,以及用户定义的符号名,类型及 属性。
LX.LST 文件的内容
汇编语言程序的上机调试步骤
一、建立汇编语言的工作环境
•需要以下文件:
一、建立汇编语言的工作环境
二、建立ASM文件
二、建立ASM文件
二、建立ASM文件
三、用MASM程序产生OBJ文件
三、用MASM程序产生OBJ文件
汇编程序的输入文件是ASM文件,其输出文件可以有三个: 1、OBJ目标文件
用T命令单步执行程序
用D命令查看数据段的有关区域的内容
用Q命令退出DEBUG返回DOS
七、从DOS返回WINDOWS

汇编语言程序调试及工具软件DEBUG

汇编语言程序调试及工具软件DEBUG

15
15、S检索 格式:S 起始地址 结束地址 值表 S 起始地址 L字节数 值表 功能:在指定内存范围内检索值表指定的字符,如果找到,则显示 检索到的单元地址;如果没找到,则显示提示符。 例: 设内存DS:0000H开始存入1,2,3, ‘A’ , ‘B’ , ‘A’ , ‘B’ 要求检索字符‘A’ , ‘B’ , ‘F’ -SDS:0 06 A 1542:0003 1542:0005 -SDS:0 06 B 1542:0004 1542:0006 -SDS:0 06 F -
通过调试工具检查功能的正确性。
2
二、调试工具软件DEBUG
1、简介 面向汇编语言的动态调试工具,有19条命令。 通过跟踪、测试对.EXE和.COM文件动态跟踪调试。 查找文件中的错误及运行结果。 可以直接编写、调试小程序。 2、DEBUG的启动方式
(1)在DOS状态下直接输入
C:DEBUG ADD.EXE (2)在DOS状态下输入 C:DEBUG -NADD.EXE -L
17
16
16、C比较 格式:C 起始地址 结束地址 目的地址 C 起始地址 L字节数 目的地址 功能:比较两个数据块内容,如果不相同,则显示其内容和地址。 默认为数据段,目的地址只包含偏移地址。 例:把ES:0开始的10个字节内容与DS:100H开始的区域进行比较, 找出与之不同的内容。 -CES:0 LA DS:100 执行结果: 82DD:0000 03 2D 82CD:100 82DD:0002 00 02 82CD:102 82DD:0003 05 09 82CD:103 82DD:0008 04 66 82CD:108 17、Q退出 格式:-Q 功能:退出DEBUG命令。
9
例2:从CS:0004开始执行3条指令。 -T=4 3

汇编语言上机调试1

汇编语言上机调试1
操作数可为一个,两个或省略,若有两个操作数,它们之间 用逗号“,”隔开,通常把右边的操作数称为源操作数,把左 边的操作数称为目的操作数。 伪指令语句的格式:
[名字]定义符 参数1,…,参数n[;注释]
第 4章
汇编语言程序
标号、名字与标识符
标号放在指令语句的前面,并用冒号“:”与助记符分开。表 示一条指令所在的地址,即指令语句的地址符号,常被用作 转移指令和调用指令转去的目标地址。 名字是反映伪指令位置和属性的标识符,后跟空格或制表 符分隔,没有冒号。 标识符(Identifier),标号和名字的统称。一般最多由 31个字母、数字及规定的特殊符号(如 _、$、?、@)组成, 不能以数字开头。默认情况下,汇编程序不区别标识符中 的字母大小写。 一个程序中,每个标识符的定义是唯一的,还不能是汇编 语言采用的保留字。
• 写命名 W 要写入文件的字节应 先存入BX:CX中。 -W[开始地址 ] • 装入命令L -L[开始地址] •退出命令Q -q
第 4章
汇编语言程序
DEBUG显示的标志位含义
标志位名称 溢出(是/否) 进位(是/否) 辅助进位(是/否) 零(是/否) 奇偶(偶/奇) 符号(负/正) 中断(开/关) 方向(减/增) 标志 OF CF AF ZF PF SF IF DF 标志位为1 OV CY AC ZR PE NG EI DN 标志位为0 NV NC NA NZ PO PL DI UP
第 4章
汇编语言程序
第4章 汇编语言程序
4.1 汇编语言程序的开发过程 4.2 汇编语言语句及结构 4.3 汇编语言程序结构 4.4 常用的系统功能调用 4.5 参数、变量和标号
第 4章
汇编语言程序
4.1 汇编语言程序的开发过程

汇编语言程序设计上机步骤与调试方法

汇编语言程序设计上机步骤与调试方法

汇编语言程序设计上机步骤与调试方法在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们能够帮助程序员更好地编写和调试程序。

本文将介绍汇编语言程序设计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些知识。

一、上机步骤1. 准备工作在开始上机之前,我们需要做一些准备工作。

首先,确认计算机已经连接好必要的硬件设备,例如键盘、显示器等。

其次,确保操作系统和开发环境已经正确安装并能够正常运行。

最后,根据需要准备好所需的汇编语言文档和程序样例。

2. 创建新项目在开始编写汇编语言程序之前,我们需要创建一个新的项目。

在项目中,我们可以组织和管理相关的文件和代码。

通常,我们会选择一个合适的集成开发环境(IDE)来创建和管理项目。

3. 编写程序在创建项目之后,我们可以开始编写汇编语言程序。

首先,我们需要了解目标机器的指令集和寄存器,以便正确地编写程序。

然后,根据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。

在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。

4. 调试程序编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性和稳定性。

调试是一个迭代过程,通常包括以下步骤:- 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。

- 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行过程,并检查各寄存器和内存的值。

- 监视变量:在调试过程中,我们可以监视程序中的变量值,以验证其正确性。

- 查看输出:观察程序的输出结果,与预期结果进行比较,以确定程序是否按照预期执行。

- 修复错误:如果发现程序中存在错误,我们需要对程序进行修改和调整,直到问题解决为止。

5. 运行程序在完成程序的调试之后,我们可以运行程序并观察其运行效果。

在运行过程中,我们可以测试程序的各种功能,以确保其正常工作。

二、调试方法1. 打印输出在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。

汇编语言程序上机调试

汇编语言程序上机调试

2.1 汇编语言程序上机调试汇编语言的学习离不开上机实验。

汇编语言程序上机操作包括四个步骤:编辑、汇编、连接、调试运行4个过程,如图错误!文档中没有指定样式的文字。

-1所示。

图错误!文档中没有指定样式的文字。

-1 汇编语言程序上机调试过程常用的汇编器有MASM(Marco Assembler,宏汇编)和TASM(Turbo Assembler),连接器有LINK和TLINK,调试器有DEBUG和TD(Turbo Debugger)。

MASM、LINK和DEBUG 由Microsoft 公司出品, TASM、TLINK和TD由Borland公司出品。

本书以Microsoft公司的汇编工具包为例,介绍汇编语言程序的上机调试过程。

注:在学习本节内容时,将重点放在程序调试过程和方法上,暂时不需要去探求实例的程序代码及各条指令的含义。

相关内容在后续章节会详细介绍。

2.1.1简单汇编语言源程序下面先看一个完整的简单汇编语言源程序。

【例错误!文档中没有指定样式的文字。

-1】在屏幕上显示字符串“Hello,Assembly!”。

;源程序:ex201.asm;功能:在屏幕上显示字符串“Hello,Assembly!”DSEG SEGMENT ;数据段开始STRING DB 0DH,0AH,'Hello,Assembly!',0DH,0AH,'$'DSEG ENDS ;数据段结束CSEG SEGMENT ; 代码段开始ASSUME CS:CSEG,DS:DSEG ;设定段寄存器与逻辑段的关系START: MOV AX,DSEGMOV DS,AX ; 设置数据段段地址MOV DX,OFFSET STRING ;为DOS功能调用设置入口参数MOV AH,9 ;为DOS功能调用设置功能号INT 21H ;DOS功能调用,显示字符串MOV AX,4C00H ;为DOS功能调用设置功能号和入口参数INT 21H ;DOS功能调用,返回DOS操作系统CSEG ENDS ; 代码段结束END START ; 汇编结束8086/8088系统中,汇编语言以逻辑段为基础,按段的概念来组织代码和数据。

汇编教程 汇编语言上机过程

汇编教程 汇编语言上机过程

3、连接程序的使用 、
目标文件(.OBJ)必须经过连接以后才能成为可执行 文件,连接后的可执行文件具有绝对地址 。 D:\MASM>LINK 文件名
Object Modules[.OBJ]:要目标文件名 ,缺省类型为 缺省类型为OBJ : Run file[文件名 文件名.exe]:要可执行文件名 ,缺省与 缺省与OBJ文件同名 文件名 : 文件同名 List file[NUL.MAP]:要内存分配图文件名 ,直接回车则不要。 直接回车则不要。 : Libraries[.LIB]:提示是否用到库文件,汇编程序没有库文件, :提示是否用到库文件,汇编程序没有库文件, 回车即可。 回车即可。
输入或修改结束后,按ALT出现屏幕菜单,↓可 下拉菜单,↑↓←→可选项。 存盘后出现文件名.ASM文件 文件…. 存盘后出现文件名 文件
2、宏汇编程序的使用(设定当前目录为 、 设定当前目录为MASM) )
D:\MASM>MASM 文件名.ASM : Source filename[.ASM]:要源文件名 ,缺省类型为.ASM Object filename[文件名.OBJ]:要目标文件名 ,直接回 车为默认值 Source listing[NUL.LST]: 要源文件列表文件名 (通常用同名.LST),直接回车默认不要列表文件。 Cross reference[NUL.CRF]: 要交叉引用表文件名 , 该文件用于形成符号表文件.REF,直接回车默认 不要该文件….
几种常用的DEBUG 命令: 命令: 几种常用的
(1) (2) (3) (4) (5) (6) (7) (8) D:显示存储单元内容 E:修改存储单元内容 R:显示、修改寄存器内容 U:反汇编命令 G:运行命令 T:跟踪命令 Q:退出命令 A:汇编命令
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

其他程序开发工具中的编辑环境
EDIT YY.asm
开发过程2:源程序的汇编 汇编是将源程序翻译成由机器代码组成的 目标模块文件的过程
MASM 5.0提供的汇编程序是MASM.EXE:
MASM YY.asm
如果源程序中没有语法错误,MASM将自 动生成一个目标模块文件( YY.obj );否则 MASM将给出相应的错误信息 这时应根据错误信息,重新编辑修改源程 序后,再进行汇编
汇编程序的主要功能:

检查源程序,给出出错信息。
• 产生目标文件(.obj)和列表文件(.lst)。
• 展开宏指令。
开发过程3:目标模块的连接 连接程序能把一个或多个目标文件和库 文件合成一个可执行程序( .EXE 、 .COM 文 件):
LINK YY.obj
如果没有严重错误, LINK 将生成一个可 执行文件( YY.exe );否则将提示相应的 错误信息 这时需要根据错误信息重新修改源程序 后再汇编、链接,直到生成可执行文件
开发过程4:可执行程序的调试
Hello, World ! 经汇编、连接生成的可执行程序在操作 系统下只要输入文件名就可以运行: YY 操作系统装载该文件进入主存,并开始 运行
如果出现运行错误,可以从源程序开始排错, 也可以利用调试程序帮助发现错误 采用DEBUG.EXE调试程序:
DEBUG YY.exe
汇编程序上机调试流程
文本编辑器,如 编 辑
错误
源程序:文件名.asm 汇编程序,如 MASM.EXE 汇 编
目标模块:文件名.obj 连接程序,如 LINK.EXE 连 接 可执行文件:文件名.exe
错误
错误
调试程序,如 DEBUG.EXE
调 试
应用程序
ห้องสมุดไป่ตู้错误
开发过程1:源程序的编辑 源程序文件要以ASM为扩展名 源程序文件的形成(编辑)可以通过任 何一个文本编辑器实现: DOS中的全屏幕文本编辑器EDIT
相关文档
最新文档