第11章汇编语言程序设计实验方法

合集下载

汇编语言程序设计方法

汇编语言程序设计方法

C 名字前加 下划线
从右到左 调用程序

SYSCALL
从右到左 被调用程序

STDCALL 名字前加
下划线 (注)
被调用程序

PASCAL 名字变大写
BASIC 名字大写
FORTRAN 名字大写
从左到右 被调用程序

从左到右 被调用程序

从左到右 被调用程序

12
PROTO是过程声明伪指令,用于事先声明过程的结构。它的格 式如下:
结束处理部分
AGAIN: ADD AX,CX
;从20,19,……2,1倒序累加到AX
LOOP AGAIN ;每循环一遍,CX自动减1
MOV SUM,AX ;将累加和送入SUM单元
.EXIT 0
END
初始化部分
循环结束? 是 否
工作部分 修改部分 结束处理部分
7
二、用MASM 6.x循环控制伪指令实现循环结构
.CODE
.STARTUP
MOV AL, B
IMUL AL
MOV BX,AX MOV AL,A
;BX中为B的平方
IMUL C
MOV CX,4
IMUL CX
;AX中为4AC
.IF SWORD PTR BX>=AX ;比较B的平方和4AC的大小
MOV SIGN,1
;条件成立,SIGN得到1
.ELSE
MOV SIGN,0
.IF 条件表达式 ;条件为真(非0),执行分支体
分支体
[.ELSEIF 条件表达式
分支体
;前面IF条件为假,并且当前ELSEIF条件为真执行分支体
[.ELSE
;前面IF条件为假执行分支体

《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第4版)钱晓捷主编前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。

它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。

(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。

(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7).第九章说明BIOS和DOS系统功能调用的使用方法。

(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。

附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。

汇编语言程序设计实验指导

汇编语言程序设计实验指导

汇编语言程序设计实验指导【实验提要】以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。

旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。

(带*号的为选作内容)实验一调试工具DEBUG的应用实验目的通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能;2、DEBUG命令: A,D,E,F,H,R,T,U的使用;3、BCD码、ASCII码及用十六进制数表示二进制码的方法;4、寄存器: AX,BX,CX,DX,FLAGS,IP。

内容及步骤注:本次实验可以参照教材上关于DEBUG的叙述内容进行。

一、DEBUG 命令使用1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境,显示提示符 '- '。

2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。

注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。

3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。

4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。

5、用命令 E200 41 42 43 44 45将A-E的ASCII码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。

6、用H命令检查下列各组十六进制数的和与差(补码表示):(1)56H,34H (2)23H,45H (3)AB,3045H注:输入 H 12 34 则在下一行显示0046 FFDE,即二者的补码和与差。

汇编语言程序设计实验

汇编语言程序设计实验

汇编语言程序设计实验汇编语言程序设计实验是计算机科学与技术相关专业中非常重要的一门实践课程,旨在培养学生对计算机底层工作原理的深刻理解和实际操作能力。

本文将介绍汇编语言程序设计实验的基本目标、内容和实验过程,并分析其重要性和实际应用。

首先,汇编语言程序设计实验的基本目标是使学生掌握基本的汇编语言编程方法和技巧,理解计算机底层工作原理,并具备解决实际问题的能力。

通过实验,学生能够深入了解计算机内部的工作原理和指令系统,了解计算机如何执行指令和处理数据。

此外,实验还能培养学生的逻辑思维能力、问题分析能力和创新能力。

汇编语言程序设计实验的内容通常包括以下几方面:汇编语言基础知识、汇编指令集和程序设计实践。

首先,学生需要学习和掌握汇编语言的基本知识,包括数据类型、寻址方式、指令格式和寄存器等。

其次,学生需要熟悉常用的汇编指令集,如数据传送指令、算术与逻辑指令、转移指令和输入输出指令等。

最后,通过编写汇编语言程序,解决一些简单的实际问题,如数值计算、字符串处理、图形显示等。

在进行汇编语言程序设计实验时,学生通常需要经过以下几个步骤:问题分析、算法设计、程序编写和调试测试。

首先,学生需要对实验问题进行仔细分析,明确问题的要求和限制条件。

其次,学生需要设计符合问题要求的算法,确定算法的输入输出和执行过程。

然后,学生需要使用汇编语言编写程序代码,注意程序的逻辑结构和语法规范。

最后,学生需要对程序进行调试和测试,确保程序能够正确地运行和输出预期结果。

汇编语言程序设计实验在计算机科学与技术领域具有重要的意义和实际应用。

首先,汇编语言是理解计算机底层工作原理和指令系统的基础,对于从事底层开发、系统优化和调试工作的人员来说,掌握汇编语言是必不可少的技能。

其次,汇编语言程序设计可以帮助学生深入理解计算机体系结构和操作系统的工作原理,提高对高级语言编程的理解和掌握能力。

最后,汇编语言程序设计实验还能培养学生的问题解决能力、团队合作精神和创新思维,为学生今后的科研工作和职业生涯打下良好的基础。

汇编语言程序设计实验篇

汇编语言程序设计实验篇

1.汇编语言程序设计实验篇1.1.汇编系统软件简介Emu8086-Microprocessor Emulator是集源代码、汇编/反汇编工具以及debug的模拟器。

它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。

该软件兼容的下一代处理器,包括PentiumII、Pentium4。

利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。

1.1.1创建程序 TEMPLATE程序本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。

打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。

输入全部指令后,单击按钮,保存相应的程序段。

2.EXE TEMPLATE程序本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。

打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable : relocation, checksum.”后,单击按钮。

在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

输入全部指令后,单击按钮,保存相应的程序。

汇编语言程序设计的实验环境及实验步骤

汇编语言程序设计的实验环境及实验步骤

汇编语言程序设计的实验环境及实验步骤1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行:(1) 编辑源程序(生成.ASM文件)(2) 汇编源程序(.ASM → .OBJ)(3) 连接目标程序(.OBJ → .EXE )(4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件)(5) 运行程序输出结果。

2、Windows环境下的汇编语言集成编程环境的使用实验一 DOS环境下的汇编语言编程环境使用(基础与验证型)实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM的使用;4、熟练掌握连接程序LINK的使用。

实验涉及的主要知识单元1、编辑源程序例如,编写程序,可以在DOS模式下用编辑程序edit.exe建立汇编语言源程序文件Hello.asm,注意文件名的扩展名必须是.asm。

也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“cmd”进入DOS模式,运行edit软件,例如:C:> edit hello.asm2、汇编语言源程序的汇编过程汇编程序调入后,首先显示版本号,然后出现三个提示行。

第一个提示行为:Object filename [HELLO.OBJ]:询问目标程序文件名,方括号内为机器规定的默认的文件名,通常直接按回车键,表示采用默认的文件名(如上所示)。

第二个提示行为:Source listing [NUL.LST]:询问是否建立列表文件。

若不建立,直接回车;若要建立,可以输入文件名hello再回车。

列表文件中同时列出源程序和机器语言程序清单,并给出符号表,有利于程序调试。

第三个提示行为:Cross-reference [NUL.CRF]:询问是否要建立交叉索引文件。

若不建立,则直接回车;若要建立,可以输入文件名。

汇编语言实验报告_6

青岛理工大学课程实验报告
课程名称汇编语言程序设计班级实验日期
2013.11.3
姓名学号实验成绩
实验
名称
子程序
实验目的及要求1.掌握子程序设计相关指令和伪指令的使用方法
2.掌握子程序设计方法, 特别是参数传递方法
3.掌握主程序和子程序之间的调用关系和调用方法
4.熟悉循环和子程序结合应用解答问题的思路
实验环境1.命令行方式
2.MASM.EXE LINK.EXE DEBUG.EXE
实验内容1.设DATA1开始的内存单元中, 存放着一串带符号字数据, 要求采用冒泡排序算法(Bubble Sort)按照从小到大的顺序排序并将排好序的数据存在DATA1开始的单元。

然后在显示器输出排好序的数据, 中间用’,’隔开。

2.输出数据使用子程序方式。

算法描述及实验步骤步骤:
(1)设置数据段地址
(2)设置堆栈段地址
(3)设置堆栈指针
(4)调用9号功能, 输出一个提示性字符串。

(5)循环进入子程序, 输出原始数据。

(6)在子程序内循环输出每一位的十进制数字。

(7)主程序进行内外循环, 进行冒泡排序。

(8)再一次调用子程序输出排序后的结果。

调试过程及实验结果调试过程:
(2)(1)在输出时, 调用DOS 9号功能, 并不是只要语句MOV AH,09H
(3)它是存在入口条件的, 入口条件:DS:DX=输出字符缓冲区首地址。

所以前面必须加上MOV DX,OFFSET NOTE1。

(4)汇编语言是不会再输出汉字的。

(5)子程序结束时一定要有RET
(6)冒泡排序也遇到一些困难。

调试结果:。

汇编语言程序 实验指导书

《汇编语言程序设计》实验指导书计算机系统结构团队编西南科技大学计算机科学与技术学院2011年3月实验指导书说明汇编语言程序设计是一门实践性很强的课程,只有通过上机实践才有可能掌握设计技术并使其达到较高的水平,因此编写了实验指导书,为汇编语言程序设计课程的实验教学服务。

实验指导书共分三部分,第一部分是实验的预备知识,介绍了汇编语言程序运行时所需要的一些应用程序;第二部分是对实验报告的要求。

第三部分是实验题目,分为验证型实验和设计型实验。

在具体的实验过程中可以根据学生情况进行选择。

目录:第一部分汇编语言程序设计实验基础知识概述 (4)1.1、汇编程序MASM.EXE (4)1.1.1 宏汇编程序的功能 (4)1.1.2 汇编程序的用法 (4)1.1.3 MASM出错信息 (5)1.1.4 连接程序LINK.EXE (6)1.2 DEBUG命令详解 (7)1.2.1 DEBUG的功能 (7)1.2.2 DEBUG的使用方法 (7)1.2.3 DEBUG命令功能说明 (8)第二部分实验要求 (36)2.1 实验要求 (36)2.2 实验报告要求 (36)2.3 加强实践能力的培养 (36)第三部分实验内容 (37)实验1 MASM、LINK指令的使用实验 (37)实验2 汇编命令(伪指令)实验...................................................... 错误!未定义书签。

实验3 顺序结构程序实验................................................................ 错误!未定义书签。

实验4 简单分支结构程序实验 (39)实验5 循环结构程序实验 (41)实验6 子程序实验 (43)实验7 DOS功能调用 (46)实验8 排序和检索程序实验 (47)实验9 字符串操作实验 (51)第四部分参考资料 (57)第一部分汇编语言程序设计实验基础知识概述1.1、汇编程序MASM.EXE经过编辑的程序所建立的汇编语言源程序,是不能直接在计算机上运行的。

汇编语言程序设计实验篇

汇编语言程序设计实验篇在计算机科学领域中,汇编语言是一种低级编程语言,它直接操作计算机硬件资源,具有高效性和灵活性。

本篇文章将介绍汇编语言程序设计实验的相关内容,包括实验目的、实验环境、实验步骤和实验总结。

实验目的汇编语言程序设计实验的主要目的是使学生掌握使用汇编语言编写程序的基本技能。

通过实践操作,学生将理论知识应用于实际情境中,深化对汇编语言的理解,并培养一定的编程能力。

实验环境在进行汇编语言程序设计实验之前,学生需要准备适当的实验环境。

以下是必备的硬件和软件资源:1. 计算机:一台能够运行汇编语言的计算机。

2. 汇编语言编辑器:如MASM、NASM等,用于编辑和编译汇编语言程序。

3. 调试器:如调试版本的DOSBox、CodeView等,用于调试程序,定位和解决错误。

实验步骤在进行汇编语言程序设计实验时,学生可以按照以下步骤进行操作:1. 确定实验内容:根据实验要求,选择适当的汇编语言程序设计任务,如编写一个计算两个数相加的程序。

2. 编写程序源代码:使用汇编语言编辑器,编写程序的源代码,包括程序的指令、数据段和代码段等。

3. 编译程序:使用编辑器提供的编译指令,将源代码编译成机器码,生成可执行文件。

4. 调试程序:使用调试器,对程序进行调试,定位和解决错误,确保程序能够正常运行。

5. 运行程序:运行已调试通过的程序,验证程序的正确性,并观察程序的执行结果。

6. 优化程序:对程序进行进一步优化,提高程序的执行效率和性能。

7. 总结实验结果:根据实验过程和结果,总结实验经验和教训,思考改进和拓展的可能性。

实验总结通过进行汇编语言程序设计实验,学生可以获得以下收获:1. 熟悉汇编语言:实验使学生更加熟悉汇编语言的语法和指令,增强对计算机底层运行机制的理解。

2. 培养编程能力:实验锻炼学生的编程能力和解决问题的能力,提高他们的逻辑思维和分析能力。

3. 提升实践能力:实验让学生通过实践操作,将理论知识应用于实际情境中,增强实践能力和动手能力。

汇编语言程序设计实验教程

❖ 一、编写指令时,应注意以下几个问题: ❖ 1、注意区别立即寻址方式和直接寻址方
式。 ❖ 如:MOV AX,300;将数据300送入AX
寄存器 ❖ MOV AX,[300];将数据段中的
300单元的内容送入AX寄存器。
14
❖ 2、使用 寄存器间接寻址时应注意和寄存 器寻址方式的区别。
❖ 如:MOV AX,BX;BX中的内容传送 到AX
1
❖ 问题:系统中含有MASM.EXE,LINK.EXE和 DEBUG.EXE程序,试说明如何汇编,连接和 调试一个名为F1.ASM的程序。(8分)—— 2001年考研题
❖ 答案: ❖ 汇编:MASM F1.ASM↙;以形成二进制目标文件 ❖ 连接:LINK F1.OBJ ↙;以形成可执行文件 ❖ 调试:DEBUG F1.EXE ↙ ❖ 调试命令:显示寄存器的内容r,检查内存d,
结果保存在DX寄存器中,SUM单元中也有。用R 或D命令看结果,结果为045FH。 1、TD:在*****处设置断点,观察结果。 2、DEBUG:G1B↙,观察结果。
12
作业题
❖ 要求在全面掌握课堂示例程序的基础上,完成以下程 序设计:
❖ 1、用减奇数法开平方。(算法:N个自然数中的奇数 之和等于N的平方。)
9
❖ 命令接受状态,CPU将不断地到内存取指令、执行指令, 使用户失去对系统的控制,出现死机。为避免这种情况, 可在用户程序段结束前加上一小段返回DEBUG功能的 程序段,或用断点方式运行,以避免出现死机。
❖ 4、8086/8088CPU在开机后执行的第一条指令在内存 FFFF:0H开始处。
❖ 5、可读写内存RAM的内容可修改,而只读内存ROM 的内容不能修改,故命令E未能将数字01H填入F000: 200H~22FH的内存中,内存F000:200H~22FH的内 容填写前后保持不变。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第11章汇编语言程序设计实验方法11.1 汇编语言上机步骤11.2 用MASM5.0汇编、链接程序11.3 DEBUG调试器的使用11.4 MASM6.11软件包的使用11.1 汇编语言上机步骤1. 汇编程序把用户用汇编语言编写的源代码翻译成计算机能够识别的机器语言。

汇编过程中使用的汇编程序是masm.exe。

从MASM6.00开始,可执行文件名从masm.exe改为ml.exe。

汇编语言上机的四个步骤编辑汇编链接调试1. 编辑可以采用各种文本编辑器:EDIT,Windows的记事本,高级语言的集成环境编辑器等。

注意:保存源程序时必须加扩展名.ASM。

2. 汇编将源代码翻译为等价的二进制机器码,形成目标文件.obj。

此外,还可以产生列表文件.lst和交叉引用文件.crf。

3. 链接用链接程序生成可执行文件(.exe)。

4. 运行运行后发现错误,可以利用调试工具寻找错误。

常用的调试工具有debug和CodeView。

11.2 用MASM5.0汇编、链接程序11.2.1 运行汇编程序必备的条件11.2.2 执行汇编程序11.2.3 执行链接程序11.2.1 运行汇编程序必备的条件 对于MASM5.0来说,要建立、运行和调试用户自己编写的汇编语言源程序,必须有如下文件:全屏幕编辑器EDIT或其它文本编辑器;汇编程序MASM.EXE;链接程序LINK.EXE;调试程序。

11.2.2 执行汇编程序MASM5.0版本的汇编程序是MASM.EXE,在DOS状态下执行该程序可以对编辑好的汇编源程序进行汇编。

命令形式:MASM 文件名11.2.3 执行链接程序链接程序LINK是把一个或多个独立的目标程序模块装配成一个扩展名为.EXE的可执行文件。

此外还可以产生一个内存映像文件,扩展名为.MAP。

命令形式:lINK 目标文件名例:在屏幕上显示字串 “Assembly Language ”。

start∶mov ax, data mov ds, ax mov ah, 9h mov dx, offset s1 int 21h mov ah,4ch int 21h code endsend startdata segments1 db ′Assembly Language ′,′$′data endsstack segment para stackdb 64 dup (?)stack endscode segmentassume cs∶code, ds∶data11.3 DEBUG调试器的使用11.3.1 DEBUG的主要特点11.3.2 通过DEBUG编写、运行汇编程序11.3.3 DEBUG的进入11.3.4 DEBUG的主要命令11.3.5 举例11.3.1 DEBUG的主要特点1 能够在最小环境下运行汇编程序2 提供极简单的修改手段3 提供用户与计算机内部联系的窗口4 可装入、修改或显示任何文件11.3.2 通过DEBUG编写、运行汇编程序【例11-1】用汇编语言编写一个计算“3+5”的加法程序。

MOV AL,33H SUB DL,30HMOV DL,35H MOV AH,2ADD DL,AL INT 21HINT 20H运行DEBUG步骤1. 进入DEBUG状态;2. 用DEBUG的A命令送入程序;3. 用DEBUG的G命令执行刚刚汇编的程序;4. 用U命令反汇编;5. 用Q命令退出DEBUG。

11.3.3 DEBUG的进入命令形式:DEBUG[Path][filename][Parm1][Parm2]参数说明:[Path] 被调试程序所在路径[filename] 被调试程序的文件名[Parm1][Parm2] 被调试程序所需的参数注意:参数用[]括起,表示参数为可选项,可有可无。

1、DEBUG 命令的有关规定(1) DEBUG命令不区分大小写,后面跟着一个或多个参数,多个参数之间用逗号、空格或制表符分隔。

(2) DEBUG命令中输入和显示的地址和数据均为十六进制形式,无需带后缀H 或 h。

(3) 地址address的形式有三种:段地址: 偏移地址 段寄存器:偏移地址 偏移地址(4)范围range有两种表示方式: 地址1 地址2地址l 长度(5)按回车键后DEBUG命令才生效;(6)用Ctrl加Break键或Ctrl加C键停止命令的执行,返回到DEBUG提示符;(7)用Ctrl加NumLock键暂停正在上卷的屏幕输出,按任意键继续输出信息。

11.3.4 DEBUG 的主要命令2、DEBUG常用命令汇编命令 A [address]显示命令① D[address] ② D[range]修改命令① E [address] [list]② E [address]执行命令G[=address][breakpoint][breakpoint2 ..[ breakpoint10]]]结束命令 Q寄存器命令R [register-name]跟踪命令① T[=address] ② T[=address][value]反汇编命令 ① U [range] ② U [address]1、 通过EDIT 等文本编辑器编辑源程序PRO.ASM2、 用汇编程序汇编源程序,形成目标文件PRO.OBJ3、 用链接程序形成可执行文件PRO.EXE4、 用DEBUG 调试PRO.EXE 文件以简单的加法程序PRO.ASMPRO.ASM为例,说明如何在MASM 下汇编、链接源程序,利用DEBUG 调试可执行文件 。

11.3.5 举例11.4 MASM6.11软件包的使用11.4.1 安装MASM6.1111.4.2 安装后的任务11.4.3 PWB系统的进入和退出11.4.4 PWB主菜单11.4.5设置PWB的开发环境11.4.6PWB应用实例MASM6.11软件包提供了汇编语言集成开发环境,其主要功能有四种:1、汇编器/链接器MASM6.11版的汇编器/链接器叫ml.exe,具有早期版本的所有功能,并和它们兼容。

可以在PWB中访问ml.exe,也可以从DOS 命令行直接调用。

2、QuickHelp提供了对MASM指令集、汇编器及其功能、PWB和CodeView的全面介绍,列举了所有的DOS INT 21H 功能调用和BIOS功能调用。

可以在DOS命令行执行qh.exe访问Microsoft提供的在线帮助,也可在PWB中获得帮助信息。

11.4.1 安装MASM6.113、PWB4、CodeView是一个集成开发环境,在PWB中利用编辑器、在线帮助、汇编器/链接器和CodeView可以完成所有任务。

是一种窗口式调试工具 。

1、设置环境变量安装程序在C:\MASM611\BIN目录中创建了一个名为NEW-VARS.BAT的批处理文件,该文件将设置MASM的运行环境变量,包括DOS搜索路径。

每次使用MASM前先执行该文件:C:\MAMS611\BIN\NEW-VARS.BAT建立TOOLS.INI 文件安装程序后,在目录c:\masm611\init\中有一个名为tools.pre的文件,复制该文件,然后改名为tools.ini。

建立工作目录 方便用户的使用11.4.2 安装后的任务方法1在桌面上选择“开始”→“运行”,在“打开”文本框中输入命令command或cmd进入DOS环境,执行MASM611\BIN子目录下的可执行文件PWB.EXE。

方法2在桌面上选择“开始”→“程序”→“附件”→“命令提示符”进入DOS 环境,执行MASM611\BIN子目录下的可执行文件PWB.EXE。

11.4.3 PWB 系统的进入和退出11.4.4 PWB主菜单PWB主菜单的功能File 用于文本文件的建立、保存、打印、退出等;Edit 用于文本文件的剪切、拷贝、粘贴等;Search 用于查找、替换文本文件中指定字符串等操作;Project 用于源程序的汇编、链接以及工程文件的管理;Run 执行程序,调入调试器CodeView等;Options设置PWB环境;Browse 查看源程序中符号定义及使用情况等信息;Windows管理PWB中的窗口;Help 提供PWB、CodeView、汇编语言指令等的在线帮助。

11.4.5 设置PWB的开发环境第一步选择生成的可执行文件的格式是exe文件或com文件等。

第二步设置生成的可执行文件为调试类型还是发布类型。

第三步选择生成列表文件等辅助信息。

11.4.6 PWB 应用实例【例11-2】已知两个字变量word1和word2,编程实现两数相加,并将结果存放到word3 单元中。

mov bx,word1mov dx,word2add bx,dx mov word3,bx .exit 0 end.model small .stack 100h.data word1 dw 5 word2 dw -10 word3 dw ?. code11.5 Codeview调试器的使用11.5.1 Codeview的进入和退出11.5.2 Codeview调试器主窗口11.5.3 CodeView功能键11.5.4 CodeView环境设置11.5.5用Codeview调试汇编程序11.5.6在Command窗口调试程序Codeview 的进入 方法一 :建立可执行文件.exe文件后,在PWB 中选择Run 菜单中的Debug 选项。

方法二:在命令行中输入命令cv demo.exe。

Codeview 的退出选择File 菜单项中的Exit 选项11.5.1 Codeview 的进入和退出4个主要窗口Source1窗口 显示被调试的源程序机器码等 Command 窗口 输入各种调试命令 Register 窗口 显示寄存器的内容 Memory 窗口 显示内存单元的内容11.5.2 Codeview 调试器主窗口11.5.3 CodeView功能键F1获得帮助信息。

F2显示/隐藏Register窗口。

F3在Source窗口中依次以三种模式显示当前执行的程序。

F4F5相当于G命令。

从当前代码开始执行,直到程序结束或下一个断点。

F6依次进入屏幕所显示的窗口。

F7与F5功能相同。

F8相当于T命令。

单步执行,即一次执行一条指令,并且当执行call指令或int指令时,程序的执行转入子程序或中断子程序中的第一条指令。

F9设置/取消断点,也可用鼠标左键双击需要设置断点的代码行。

断点是程序运行过程中暂停执行的一行,设置断点是为方便用户进行查看。

带断点的代码行以高亮显示。

F10跟踪执行,与F8类似。

但是不进入被调用的子程序或中断子程序。

F10键相当于P命令。

11.5.4 CodeView 环境设置Source1 Window 设置Source窗口选项Memory1 Window 设置Memory窗口选项Locals Options 选择要显示变量所在范围以及是否显示它的地址Trace Speed设置跟踪速度(缺省为中速)Case Sensitivity设置大小写敏感(缺省为不敏感)32-bit Registers 未选中显示16位寄存器,选中显示32位寄存器在CodeView 中利用Options 菜单设置调试环境,一般采用缺省设置。

相关文档
最新文档