工程学院汇编语言程序设计实验教程

合集下载

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

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

实验一熟悉汇编语言程序设计的实验环境及上机步骤一、实验目的:1、掌握文本编辑程序EDIT的基本使用方法。

2、熟练掌握汇编语言上机操作的基本步骤,学会汇编语言程序的编辑、汇编、连接、运行等操作方法。

二、上机实验指导(一)实验环境1.硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境⏹Windows98/2000/XP操作系统⏹文本编辑器(NOTEPAD(记事本))⏹汇编程序(MASM.EXE)⏹连接程序(LINK.EXE)(二)上机实验步骤上机步骤总结如下:1.把汇编程序拷贝到 C:\ASM\2.用记事本建立ASM源程序,保存为C:\ASM\HELLO.ASM3.汇编 C:\ASM>MASM HELLO.ASM<回车>4.链接C:\ASM>LINK HELLO.OBJ<回车>5.执行C:>ASM>HELLO〈回车〉下面详细介绍上机步骤:1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。

创建方法:找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。

请把MASM.EXE、LINK.EXE都拷贝到此目录中。

2.建立ASM源程序使用NOTEPAD(记事本)文本编辑器建立ASM源程序。

打开记事本,输入源程序后,保存为后缀为.ASM的文件,保存路径为C:\ASM\HELLO.ASM。

3.用MASM.EXE汇编源程序产生OBJ目标文件具体操作如下:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:C:\Documents and Settings>cd..(回车,退回到上一级根目录)C:>CD ASM<回车>C:\ASM>MASM HELLO.ASM<回车>操作时的屏幕显示如图2所示。

《汇编语言程序设计》实验教学大纲

《汇编语言程序设计》实验教学大纲

《汇编语言程序设计》实验教学大纲实验教学大纲《汇编语言程序设计》一、实验目的1.学习并掌握汇编语言程序设计的基本原理和方法。

2.培养学生的计算机底层编程能力,提高其对计算机工作原理的理解。

二、实验内容1.汇编语言程序的基本语法和指令2.数据传送、算术运算和逻辑运算指令的使用3.条件分支和循环控制指令的应用4.子程序和函数的设计与调用5.实践中的程序调试和测试技巧三、实验环境和工具1.计算机硬件:至少一台支持汇编语言开发的计算机2. 操作系统:Windows、Linux等3.汇编语言开发工具:MASM、NASM等4.调试工具:调试器、PE浏览器等四、实验要求1.按照实验指导书的要求,独立完成实验任务。

2.熟悉并掌握相关的汇编指令和程序设计技巧。

3.理解并掌握调试工具的使用方法。

4.根据实验结果进行思考和总结,撰写实验报告。

五、实验流程1.实验前:预习相关课程内容,了解实验任务的要求和目标。

2.实验中:按照实验指导书的要求,完成实验任务,同时理解和掌握相关的理论知识,尽量独立思考解决问题。

3.实验后:总结和归纳实验中遇到的问题和解决方法,撰写实验报告。

六、实验内容详述1.实验一:汇编语言程序的基本语法和指令-学习汇编语言程序的基本结构和语法规则-掌握汇编指令的书写和使用方法2.实验二:数据传送、算术运算和逻辑运算指令的使用-学习数据传送指令的使用方法,实现变量的读写和数据传递-学习算术运算指令的使用方法,实现数值的加减乘除等操作-学习逻辑运算指令的使用方法,实现条件判断和逻辑运算3.实验三:条件分支和循环控制指令的应用-学习条件分支指令的使用方法,实现条件判断和跳转-学习循环控制指令的使用方法,实现循环操作和计数4.实验四:子程序和函数的设计与调用-学习子程序的设计和调用方法,实现程序代码的模块化和复用-学习函数的设计和调用方法,实现特定功能的封装和调用5.实验五:实践中的程序调试和测试技巧-学习程序调试技巧,如断点调试、单步执行等-学习程序测试技巧七、实验评分1.实验报告的撰写质量:20分2.实验任务的完成程度:60分3.实验中的操作和程序编写能力:20分八、参考教材1.《汇编语言程序设计》,李文娟编著,高等教育出版社,2024年2.《汇编语言程序设计教程》,汪金平编著,清华大学出版社,2024年以上是《汇编语言程序设计》实验教学大纲的内容,旨在帮助学生全面了解实验的目的、内容和要求,明确学习的流程和方式。

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

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

汇编语言程序设计的实验环境及实验步骤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]:询问是否要建立交叉索引文件。

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

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

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

实验一宏汇编MASM5.0运行环境一、实验目的1、熟悉的MASM5.0宏汇编程序运行环境2、掌握用MASM5.0运行汇编语言程序的步骤3、学习及掌握的debug程序的各种命令并调试汇编语言程序。

二、实验仪器计算机、masm汇编运行环境三、实验原理1、建立汇编语言的工作环境(1)编辑程序:EDIT .COM(2)汇编程序:MASM .EXE(3)连接过程:LINK.EXE(4)调试程序:DEBUG .EXE2、运行汇编语言程序的步骤(汇编语言程序的上机过程)在汇编实验步骤的word文档中(请下载参考)。

(1)用汇编程序建立源文件(*.asm)汇编程序:记事本,写字板或EDIT.EXE 。

(文本文件编辑器)扩展名为:.asm(2)用汇编程序(MASM、EXE)产生OBJ文件。

(3)用连接程序(LINK 、EXE)生成EXE文件。

(4)程序的执行直接输入文件名LINKEDIT记事本写字板MASM3、用DEBUG 运行、调试汇编语言程序(1)进入DEBUGC:\ DEBUG (前提DEBUG .COM 程序在C 盘)屏幕显示:- “-”这个符号是进入DEBUG的提示符,在该提示符下可键入任意DEBUG 命令,现在用A命令送程序。

(2)送程序并汇编-A 100169C:0100 MOV DL ,33169C:0102 MOV AH ,2169C:0104 MOV INT 21169C:0106 MOV INT 20169C:0101此程序已送完,并汇编成机器指令(3)现在用G命令一运送程序-G3看一下机器指令是什么样的用反汇编命令U(4)反汇编-U 100 :108段地址偏移地址指令169C :0100 B233 MOV DL ,33169C :0102 B402 MOV AH ,02169C :0104 CD21 INT 21169C :0106 CD20 INT 20169C :D108(5)用Q命令退出DEBUG 返回DOS-QC:\4、DEBUG 命令(1)汇编命令A格式1)A < 段寄存器名>:<位移> ;(段寄器)为段地址2)A <段地址> :<位移> ;(c s) 为段地址3)A <位移> ;4)A ;以CS:100作地址功能:键入该命令后显示的地址和位移并等待用户从键盘逐条键入汇编命令。

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)一、实验目的1、掌握分支程序、循环程序的设计方法。

2、熟悉DEBUG程序的使用方法。

3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。

二、实验内容1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考虑数据块重叠问题)。

2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问题)。

三、实验准备1、预习数据传送指令,熟悉分支和循环程序设计方法。

2、预习DEBUG调试程序的使用方法。

3、根据实验内容要求,编写好实验源程序。

四、实验步骤1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。

2、汇编、连接源程序,产生.EXE可执行文件。

3、运行程序。

(1) 进入DEBUG。

打入DEBUGT MYPROG.EXE。

MYPROG为所编程序的文件名。

(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。

如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。

(3) 检查程序。

在程序中设置若干断点,以便杳出错误所在。

(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错误之处。

五、实验报告要求1、列出程序清单,并给出程序流程图。

2、总结实现数据传送的几种方法,指出它们的区别。

开始3、分析实验中所遇到的一些问题,分析错误原因。

4、说明本实验中是如何使用DEBUG进行调试的。

CX、SI、DI置初值六、流程图勤开始设置增量方式CX、SI、DI置初值保存SI内容AL [SI] SI SI+源块长度[DI] AL N SI>DIYSI SI+1 恢复SI内容恢复SI内容DI DI+1CX CX-1 设置减量方式N CX=0, SI指向源块末尾DI指向目的块末尾Y结束 [DI] [SI]题一流程图 N 传完了吗, 书馆 Y结束题二流程图七、程序清单题一程序清单:STACK SEGMENT STACK ‘STACK’DB 100 DUP(0)STACK ENDSDATA SEGMENT PARA ‘DATA’SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)DB ‘$’DATA ENDSSEGMENT PARA‘CODE’ASSUME CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV CX,10MOV SI,offset SOURMOV DI, offset DESTAGAIN: MOV AL,[SI]MOV [DI],ALINC SIIN DILOOP AGAINMOV DX,offset DESTMOV AH,09HINT 21HRETMAIN ENDPCODE ENDSEND START题二程序清单:DATA SEGMENT PARA ‘DATA’STRG DB ‘ABCDEFGHIJKLMNOP’STG1 EQU STRG+4STG2 EQU STHG+8STRSE EQU 6DATA ENDSSTACK SEGMENT PARA ‘CODE’DB 100 DUP(0) STACK ENDSCODE SEGMENT PARA ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,STRSEMOV SI,OFFSET STG1MOV DI,OFFSET STG2CLDPUSH SIADD SI,STRSE-1CMP SI,DIPOP SIJL MOVESTDADD SI,STRSE-1ADD DI,STRSE-1 MOVE: REP MOVSB RETMAIN ENDPCODE ENDSEND START。

汇编语言程序设计实验教学大纲

汇编语言程序设计实验教学大纲

《汇编语言程序设计实验》教学大纲教学单位名称:计算机科学与技术学院课程名称:汇编语言程序设计实验英文名称:课程代码:07453007课程类别:专业实践教学环节课程性质:必修课开课学期:第5学期学时/学分:32学时/1学分面向专业:计算机科学与技术专业、网络与信息安全专业一、实验课程的教学任务和要求本实验的主要任务是从应用和实践的角度出发,使学生通过上机操作掌握本课程所讲述的程本课程内容。

共安排9个上机实验(32学时), 每次实验要求上机之前做好预习及教材上有关内容的复习,对每次上机实验的内容及实验目的要做到心中有数。

为了帮助学生明确有关语句的基本用法,程序设计的基本方法及程序调试的基本技巧,上机前要给学生讲解程序的作用及其设计方法。

每次实验完成后,都要进行小结并写出实验报告。

报告应具有以下内容:(1).实验目的。

(2).实验内容。

(3).程序(含注释)、实验结果、及运行情况分析。

(4).实验过程中出现的问题及解决方法。

二、实验课程的教学目的(1)使学生通过对计算机各功能部件的逻辑组成、工作机制、程序设计的学习及实验,建立完备的单台计算机整机概念。

(2)使学生通过汇编语言程序设计的学习,了解所用计算机硬件及使用软件扩大功能的实现方法,并为后继课程及今后工作中解决实际问题,打下一个良好的基础。

(3)通过实验课的学习,使学生受到软硬件实验的初步训练,实验操作能力得到提高。

掌握编程的基本方法,培养分析和解决问题的能力,以及掌握使用计算机的基本技能。

三、学生应掌握的实验技术及基本技能掌握基本dos命令的使用,掌握编辑器的使用,掌握汇编语言的调试方法,用汇编语言进行实验要求程序的调试。

四、实验项目内容、学时分配和每组人数(1).实验一 利用debug 调试程序 2学时实验目的:掌握调试程序debug 的使用方法。

( 可对用户程序进行各种检测调试,帮助用户进一步发现程序设计中的错误和不足。

debug 状态下,当首行显示“-”提示符时,就可以输入命令。

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

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

汇编语言程序设计实验教程教学设计一、教学目标1.掌握汇编语言的基本指令和编程思想;2.能够使用汇编语言进行简单程序设计;3.能够理解计算机底层运行原理。

二、教学内容1.汇编语言基础知识(常用指令、流程控制、数据传输等);2.简单的程序设计实例(数值计算、字符串处理等);3.实验环境的搭建和使用。

三、教学方法1.讲授型教学结合实例演示;2.学生自学课程材料和实验操作指南;3.实验探究和讨论;4.组织小组项目,鼓励合作学习。

四、教学过程第一周本周教学目标:讲解汇编语言基础知识和常用指令。

时间安排教学内容教学方式第一课时引言:计算机底层工作原理讲授时间安排教学内容教学方式第二课时汇编语言概述讲授第三课时汇编语言基本指令(数据传输)讲授+实例演示第四课时汇编语言基本指令(逻辑运算)讲授+实例演示第二周本周教学目标:讲解汇编语言的流程控制和程序设计实例。

时间安排教学内容教学方式第一课时汇编语言基本指令(流程控制)讲授+实例演示第二课时程序设计实例(数值计算)讲授+实例演示第三课时程序设计实例(字符串处理)讲授+实例演示第四课时总结回顾讲授第三周本周教学目标:实验环境的搭建和使用,以及实验探究和讨论。

时间安排教学内容教学方式第一课时实验环境搭建实验操作指导第二课时实验一:初识汇编语言编程实验操作指导+实验探究第三课时实验二:数值计算的汇编实现实验操作指导+实验探究第四课时实验三:字符串处理的汇编实现实验操作指导+实验探究第四周本周教学目标:自主学习和小组项目。

时间安排教学内容教学方式第一-四课时自主学习和小组项目自主学习+小组研究五、考核方式1.实验报告和代码评分;2.期末考试和综合评价。

六、教学资源1.课程PPT和课程材料;2.实验指导书和实验代码;3.在线学习平台和资料共享平台。

七、教学效果评价在本门课程学习结束后,学生应能够熟练掌握汇编语言的基本知识和编程思想,能够使用汇编语言进行简单程序设计,能够理解计算机底层运行原理。

11《汇编语言程序设计》实验教学大纲.doc

11《汇编语言程序设计》实验教学大纲.doc

汇编语言程序设计实验教学大纲(2011年7月修订)兰州商学院二。

---- 年七月《汇编语言程序设计》实验教学大纲一、实验课程性质《汇编语言程序设计》是计算机科学与技术专业和电子信息工程专业必修的一门专业基础课。

汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

在对程序的空间、时间要求很高的场合和需要直接控制硬件的应用场合,汇编语言的应用是必不可少的。

通过本课程的学习,使学生掌握80X86 汇编语言指令系统、寻址方式、汇编语言程序格式和编程设计方法。

二、实验教学目的汇编语言实验主要使学生掌握DEBUG调试程序中各命令的使用方法,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方法。

本实验大纲要求学生熟练掌握汇编语言指令、顺序程序设计、分支程序设计、循环程序设计和子程序设计三、实验教学内容1、汇编语言的程序结构及Debug的使用;2、基本程序结构实验;3、子程序与模块化程序实验;4、系统调用程序实验;6、汇编与C/C++混合编程实验;四、实验总学时数28学时(每周2学时,14周。

五、实验教学方式采用验证性实验与设计性实验相结合的方式。

强调学生对实验的准备和对实验结果的分析,使学生真正掌握汇编语言程序设计的方法和过程,培养学生分析问题和解决问题的能力。

引导学生理解汇编语言与计算机硬件、汇编语言与高级语言的关系,使学生建立整机的概念和理解计算机系统的工作原理。

六、面向专业计算机科学与技术专业和电子信息工程专业。

七、实验项目及教学安排序号实验项目名称基本内容实验学时每组人数实验要求实验类型1DEBUG的应用及指令系统练习1、启动DEBUG并对各寄存器初始化。

2、使用 D、E、R、C、F、G、T、I、0、N、L、W、S、M、H、A、U、Q 等命令,观察并理解DEBUG的各命令的功能。

3、重点使用 D、R、T、N、W、A、U、Q 等命令对实际程序进行调试、跟踪、汇编与反汇编操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言实验教程一、常用DOS命令1. 进入虚拟DOS选中开始菜单中的“运行”命令,输入cmd 后按确定,可以进入虚拟DOS环境。

如图所示:打开窗口后,可以在属性中修改字体大小、颜色和窗口大小。

并且可以用组合键ALT+ENTER进行窗口最大化。

2. 常用DOS命令(1)查看目录命令DIRC:\>dirC:\>dir/w(2)显示文件内容命令TYPEC:\>type test.asm(3)文件拷贝命令COPYC:\>copy sa.asm sd.asm 将文件sa.asm拷贝为sd.asm(4)改变盘符命令C:\>e:结果为:E:\>(5)进入下一级目录C:\>cd 子目录名例如:C:\>cd masm5得:C:\masm5>(6)改变目录例如:C:\>cd windows\temp得:C:\>windows\temp>(7)退到上级目录例如:C:\>masm5>abc>cd..得:C:\>masm5(8)退到根目录例如:C:\>masm5>cd\得:C:\>(9)清屏例如:C:\>cls3. DOS下常用快捷健(1)清除当前命令行:ESC(2)输入上次输入的命令:F5(3)显示曾经输入的所有命令供选择并执行:F7(4)搜索命令的历史记录,循环显示所有曾经输入的命令,直到按下回车键为止:F8 【技巧1】虚拟DOS下复制粘贴方法在窗口上点击鼠标右键,选择“标记”后可以用鼠标选择需要复制的字符,点一下右键,然后在光标处点右键选“粘贴”即可。

【技巧2】虚拟DOS窗口增加滚动条在虚拟DOS窗口中选属性->布局-> 屏幕缓冲区大小->将“高度”改为80以上。

二、程序的编辑、编译和链接下面我们完整的完成一个实验,实验要求为在计算机屏幕上显示一个字符串“HELLO!”,具体步骤如下。

1. 调用文本编辑软件建立源程序.ASM文件。

利用Windows2000操作系统附件中的“记事本”编辑以下源程序。

命名为:Test1.ASM,该程序的功能是在计算机屏幕上显示一个字符串“HELLO!”。

DATA SEGMENTS1 DB ‘HELLO!’,‘$’DATA ENDSSTACK SEGMENT PARA STACKDB 64 DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AH,09HMOV DX,OFFSET S1INT 21HRETMAIN ENDPCODE ENDSEND S TART2. 调用汇编程序MASM对源程序汇编产生.OBJ文件。

在C:〉提示符下键入MASM Test1.ASM(回车)执行上述操作命令之后将在屏幕上显示如下信息:Microsoft(R) Macro Assembler Version 5.00Copyright(C) Mirosoft Corp 1981-1985,1987.All rights reservedObject filename[Test1.OBJ]:(回车)Source listing[NUL.LST]:(回车)Cross reference[NUL.CRF]:(回车)50678 + 410090 Bytes symbol space free0 warning Errors0 Severe Errors在汇编过程中,汇编程序一般采用两遍扫描的方法,第一遍扫描源程序产生符号表、处理伪指令等,第二遍扫描产生机器指令代码、确定数据等。

在汇编过程中还会产生列表文件和交叉引用文件。

列表文件的后缀为.LST,主要用于给出源程序和机器代码程序的清单,以供检查程序使用。

交叉引用文件的后缀为.CRF,它是一个为源程序所引用的各种符号进行前后对照的文件,主要用于给出不同程序段中互相引用的全部符号列表。

这两个文件是可有可无的,如果不需要生成这两个文件,可以在汇编过程中直接按回车跳过。

列表文件有两部分内容。

在第一部分源程序中,最左列是数据或指令在该段从0开始的相对偏移地址,向右依次是指令的机器代码字节个数、机器代码和汇编语言语句。

机器代码后有字母"R"表示该指令的立即数/位移量现在不能确定或是只是相对地址,它将在程序连接或进入主存时才能定位。

带有“*”的处理器指令是由前面一条伪指令产生的,采用/Sg选项时的列表文件才罗列。

如果陈序中有错误(ERROR)或警告(W ARMING),也会会在相应位置提示。

列表文件的第二部分是标示符使用情况。

对段名和组名给出他们的名字(NAME)、尺寸(Size)、长度(Length)、定位(Align)、组合(Combine)和类别(Class)属性;对符号给出他们的名字、类型(Type)、数值(Value)和属性(Attr)。

采用简化段定义格式,有许多汇编系统的预定义标示符,例如@DATA等。

【小技巧】输入“MASM test1; ”(后面加个分号)可以省去中间文件生成的3次提示而直接生成.obj文件3. 调用链接程序LINK对目标文件进行链接产生可执行文件。

在C:〉提示符下键入LINK Test1(回车)执行上述命令后将在屏幕上显示如下信息:Microsoft(R) Overlay Linker Version 3.6Copyright(C) Mirosoft Corp 1983-1987.All rights reservedRun File[Test1.EXE]List File[NUL.MAP]:Libraries[.LIB]:在汇编过程中形成了目标文件(.OBJ),但是在该文件中,只是将源程序的操作码部分变成了机器码,而地址操作数还是可浮动的相对地址,不是实际地址,浮动地址需要再定位。

只有经过链接过程才能形成最后的可执行文件。

链接程序的功能就是把一个或多个目标文件合并成一个可执行文件,其后缀为.EXE。

其实在链接过程中一共形成两个文件:第一个是可执行文件(.EXE)。

默认的可执行文件名字与源程序文件相同,也可以根据用户要求进行修改可执行文件的名字。

链接过程中形成的第二个文件是内存映像文件(.MAP),它给出了每个段的地址分配情况和长度。

如果不需要该文件则可以在链接命令执行时直接键入回车键。

在链接过程中还与一个库文件(.LIB文件)相关。

一般的汇编程序不需要库文件。

但是当汇编语言与高级语言(如C语言)接口时需要用到库文件。

此时输入相应的库文件名字即可。

映像文件也是一种文本文件,含有每段在存储器中的分配情况。

映像文件中首先给出了该程序各个逻辑段的起点(Start)、终点(sTOP)、长度(Length)、段名(Name)和类别(Class);然后是段组(GROUP)位置和组名;最后提示程序开始执行的逻辑地址。

注意,这里的起点、终点和段地址是以该程序文件开头而言的相对地址,实际的绝对地址需要在程序进入主存后确定。

【小技巧】输入“LINK test1; ”(后面加个分号)可以省去中间文件生成的2次提示而直接生成可执行文件4. 运行可执行文件。

在C:〉提示符下键入Test1(回车),在屏幕上将显示出“1”这个数字。

三、调试工具DEBUG介绍1.调试程序DEBUG的特点如果汇编语言的源程序中存在一些语法或格式上的错误,在汇编和链接过程中都可以发现并得到纠正。

但是如果在源程序中存在着算法错误和逻辑错误,那就只有在调试过程中才能发现并纠正了。

常用的调试工具软件是DEBUG。

DEBUG提供了修改寄存器、内存单元内容的命令,可以很方便的修改寄存器、内存单元的内容,为调试程序、修改程序带来了方便。

在DEBUG状态下,还为用户提供了调试、控制测试的环境。

用户可以在此环境下进行编辑、调试、执行一些简单的汇编程序。

由于DEBUG有显示命令。

通过显示命令,用户可以观察某个内存单元的内容、CPU内部某个寄存器的内容。

并可以根据这些内容的变化情况分析、调试程序。

调试程序debug具有如下功能特点:1.装入,显示或修改任何文件(带任何扩展名的文件);2.执行DOS程序;3.测试和调试程序4.完成磁盘实际读/写操作;5.建立、汇编汇编语言源程序或反汇编可执行文件。

2.DEBUG的命令格式DEBUG.EXE是DOS提供的可用于调试可执行程序的一个工具软件,也是可用于汇编语言程序设计的一种调试工具。

调试程序DEBUG.EXE是版本有关的,不同版本的操作系统具有不同的文件(功能一样)。

纯DOS操作系统,DEBUG.EXE在DOS目录下;Windows 9x 操作系统,使用Windows文件夹下command子文件夹的DEBUG.EXE文件;Windows 2000/XP操作系统,使用WINNT文件夹下system32子文件夹的DEBUG.EXE文件。

需要说明的是,windows操作系统中要使用debug.exe进行程序调试,必须进入到虚拟DOS 中,具体方法是在运行对话框中输入“cmd”后回车即可。

然后,在DOS的提示符下,可键入如下命令启动Debug调试程序:DEBUG [[drive:][path]filename[.exe][parameters]]命令中各字段含义如下:Drive:DEBUG将要调试的文件所在的磁盘驱动器。

Path:查找DEBUG将要调试的文件所需的子目录路径,若未指定,DOS使用当前目录。

filename[.exe]:DEBUG将要调试的文件名。

如果用户键入文件名,则启动DEBUG的同时还将指定的文件装入存储器中,用户可对其进行调试,如果未键入文件名,则用户可用当前存储器的内容工作,或者用DEBUG命令N和L将需要的文件装入存储器后再进行调试。

parameters :运行被调试的程序(或文件)时所需的命令行参数。

在DEBUG程序调入后,将出现提示符“-”,此时就可用DEGUG命令来调试程序。

说明:(1) 运行Debug程序时,如果不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段,即DEBUG程序后的第一个段;除SP之外的通用寄存器都设置为0,而SP指示当前堆栈顶在这个段的尾部或暂驻部分的结束地址(其中较小的那个地址);指令指针寄存器IP置为0100H(程序段前缀PSP后的第一个语句);状态标志都是清0状态。

(2) 运行Debug程序时,如果载入的被调试程序扩展名不是.EXE(如debug hello.asm),则BX、CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。

相关文档
最新文档