汇编语言程序设计实验教程
实验一 基础汇编语言程序设计

实验一基础汇编语言程序设计
一、实验目的
1、学习和了解TEC-XP教学实验系统监控命令的用法;
2、学习和了解TEC-XP教学实验系统的指令系统;
3、学习简单的TEC-XP教学实验系统汇编程序设计;
二、实验内容
1、学习练级使用TEC-XP教学实验系统和仿真终端软件PCEC。
2、使用监控程序R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;
3、使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行改程序,用T、P命令单步运行并观察程序单步执行情况;
三、实验步骤
1、用R命令查看寄存器内容或修改寄存器的内容
2、用D命令显示存储器内容
3、用E命令修改存储器内容
4、用D命令显示着几个单元的内容
5、用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。
1)
2)
3)
4)
6、举例编写汇编程序,用“A”命令输入,运行并观察结果
1)、例1:设计一个小程序,从键盘上接受一个字符并在屏幕上输出显示该字符。
2)、例2:设计一个小程序,用次数控制在终端屏幕上输出‘0’到‘9’十个数字符。
实验一 汇编语言程序设计的实验环境及上机步骤

实验一熟悉汇编语言程序设计的实验环境及上机步骤一、实验目的: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. 掌握汇编语言程序设计的基本方法和技巧。
3. 熟悉汇编程序的编写、编译、调试和运行过程。
4. 增强对计算机硬件工作原理的认识和理解。
实验环境- 汇编语言开发环境,如MASM、NASM等。
- 汇编器和链接器,用于将汇编源代码转换为可执行文件。
- 调试工具,如调试器,用于检查程序的执行过程。
实验内容1. 汇编语言基础- 学习汇编语言的指令集和操作数。
- 了解汇编语言的基本语法和程序结构。
2. 编写简单的汇编程序- 编写一个程序,实现数据的输入和输出。
- 编写一个程序,实现简单的算术运算。
3. 寄存器和内存操作- 学习如何使用寄存器进行数据存储和操作。
- 编写程序,实现内存地址的数据读写。
4. 循环和条件判断- 学习循环结构和条件判断的实现方法。
- 编写程序,实现循环和条件判断的功能。
5. 子程序调用- 学习子程序的编写和调用方法。
- 编写一个主程序和若干子程序,实现模块化编程。
6. 中断和异常处理- 了解中断和异常的基本概念。
- 编写程序,实现简单的中断服务程序。
7. 汇编与高级语言的接口- 学习如何将汇编程序与C/C++等高级语言程序进行接口。
- 编写程序,实现汇编语言与高级语言的混合编程。
实验步骤1. 环境搭建:安装并配置汇编语言开发环境。
2. 编写代码:根据实验要求编写汇编语言源代码。
3. 编译程序:使用汇编器将源代码编译为机器代码。
4. 链接程序:使用链接器将编译后的代码与其他必要的库链接成可执行文件。
5. 调试程序:使用调试工具检查程序的执行过程,找出并修复错误。
6. 运行程序:在适当的环境下运行程序,验证程序的正确性。
汇编语言程序设计实验教程教学设计

汇编语言程序设计实验教程教学设计一、教学目标1.掌握汇编语言的基本指令和编程思想;2.能够使用汇编语言进行简单程序设计;3.能够理解计算机底层运行原理。
二、教学内容1.汇编语言基础知识(常用指令、流程控制、数据传输等);2.简单的程序设计实例(数值计算、字符串处理等);3.实验环境的搭建和使用。
三、教学方法1.讲授型教学结合实例演示;2.学生自学课程材料和实验操作指南;3.实验探究和讨论;4.组织小组项目,鼓励合作学习。
四、教学过程第一周本周教学目标:讲解汇编语言基础知识和常用指令。
时间安排教学内容教学方式第一课时引言:计算机底层工作原理讲授时间安排教学内容教学方式第二课时汇编语言概述讲授第三课时汇编语言基本指令(数据传输)讲授+实例演示第四课时汇编语言基本指令(逻辑运算)讲授+实例演示第二周本周教学目标:讲解汇编语言的流程控制和程序设计实例。
时间安排教学内容教学方式第一课时汇编语言基本指令(流程控制)讲授+实例演示第二课时程序设计实例(数值计算)讲授+实例演示第三课时程序设计实例(字符串处理)讲授+实例演示第四课时总结回顾讲授第三周本周教学目标:实验环境的搭建和使用,以及实验探究和讨论。
时间安排教学内容教学方式第一课时实验环境搭建实验操作指导第二课时实验一:初识汇编语言编程实验操作指导+实验探究第三课时实验二:数值计算的汇编实现实验操作指导+实验探究第四课时实验三:字符串处理的汇编实现实验操作指导+实验探究第四周本周教学目标:自主学习和小组项目。
时间安排教学内容教学方式第一-四课时自主学习和小组项目自主学习+小组研究五、考核方式1.实验报告和代码评分;2.期末考试和综合评价。
六、教学资源1.课程PPT和课程材料;2.实验指导书和实验代码;3.在线学习平台和资料共享平台。
七、教学效果评价在本门课程学习结束后,学生应能够熟练掌握汇编语言的基本知识和编程思想,能够使用汇编语言进行简单程序设计,能够理解计算机底层运行原理。
汇编语言程序设计实验报告

二、实验内容
P131作业29。
实验三子程序设计实验
一、实验目的
1.掌握汇编语言源程序子程序设计方法;
2.会使用CV软件工具。
二、实验内容
把实验二作为子程序,编写主程序来对能否构成三角形进行10判断。
实验四宏汇编程序设计实验
一、实验目的
1.掌握宏汇编程序编程技术及宏调用的方法;
2.主模块程序完成子程序的调用,及判断结果的显示,程序名为:ZHU.asm。
实验五混合程序的开发实验
一、实验目的
1.了解混合调用中的参数设置;
2.掌握混合调用的方法;
二、实验内容
P156第5题。
实验一单指令功能测试实验
一、实验目的
1.会使用DEBUG软件;
2.利用DEBUG单步执行功能测试指令的执行。
二、实验内容
判断从键盘输入的ASCII码数字,若是小于等于5,显示“C”,若是大于5显示“D”。假设输入的只可能是0~9数字。
实验二完整的汇编语言程序设计实验
一、实验目的
1.掌握完整的汇编语言源程序的设计方法;
实验五多模块程序设计实验
一、实验目的
1.掌握汇编段的属性的含义;
2.掌握利用LINK将多模块连接起来的方法;
3.掌握利用库文件将多模块连接起来的方法。
二、实验内容
假设内存单元中有三个字a、b和c,编写一个程序,它可判断它们能否构成一个三角形,若能,显示“Y”,否则,显示“N”;
具体要求:
1.三角形的判断程序为一模块子程序,程序名为:ABC.asm。入口参数:字节变量a、b、c。出口参数:字节变量d=1是三角形,d=0不是三角形。
2.了解COM文件的编程方法及特点;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 汇编语言程序设计
例题:编制程序,使S=1+2×3+3 ×4+4 ×5+¨ ¨ ¨+N ×(N+1),直到N ×(N+1)项大于200为止. .MODEL SMALL .STACK 200H .DATA SUM DW 00 .CODE START:MOV AX,@DATA MOV DS,AX MOV DX,0001 MOV BL,2
保留版权(C) 秦晓梅 EMail:qinxm@ 14
实验三 指令系统与寻址方式
一,编写指令时,应注意以下几个问题: 1,注意区别立即寻址方式和直接寻址方 式. 如:MOV AX,300;将数据300送入AX 寄存器 MOV AX,[300];将数据段中的 300单元的内容送入AX寄存器.
保留版权(C) 秦晓梅 EMail:qinxm@
7
实验一 DEBUG程序的使用
一,实验目的 1,学习使用DEBUG程序的各种命令. 2,利用DEBUG学习8086/8088CPU指令系统. 3,了解计算机取指令,执行指令的工作过程. 4,掌握用DEBUG调试用户程序的方法. 二,实验任务 1,掌握DEBUG程序的各种命令,重点是A,U,R,D, T,G,Q命令的使用. 2,用命令A汇编下列命令,判断指令正误并说明原因. (1)ROR AX,8 (2)LEA DI,[AX]
保留版权(C) 秦晓梅 EMail:qinxm@ 3
上机步骤
1.确定源程序的存放目录 建议同学在C(或D)盘建立一个工作子目录,将 汇编语言常用的软件装入工作子目录之下.同学在工 作子目录下,完成编辑,汇编和连接等项操作,生成 的用户文件也存放在工作子目录之下. 2 .建立ASM源程序 在DOS环境下键入:EDIT↙ 这条命令执行EDIT.EXE程序,自动进入编辑状态, 屏幕顶部显示主菜单,底部行显示提示信息,中间的 22行为编辑窗口,用户使用编辑命令逐行输入源程序. 编辑后文件存盘时,要键入"Alt+F"键打开File菜单, 选择其中的Save功能,并通过会话给出文件名(注意: 文件名为.ASM 后缀),才能将编辑后的文件存盘.
保留版权(C) 秦晓梅 EMail:qinxm@ 17
二,正确使用指令系统,关键要清楚每条 指令的功能以及它们规定或限制使用的寄 存器. 1,指令对地址还是对地址中的内容进行 操作,这一点要严格加以区分. 如:LEA BX,MESS;(BX)←MESS 的偏移地址 MOV BX,OFFSET MESS;(BX) ←MESS的偏移地址 MOV BX,MESS;(BX)←字变 量MESS中的内容
保留版权(C) 秦晓梅 EMail:qinxm@ 8
(3)MOV DS,2010 (4)PUSH AL (5)OUT 900,AL 3,用命令U查看8086/8088CPU在开机后执行的第一条指 令. 4,用命令D查看DS:200~22F和F000:200 ~22F两内存 块的内容,用命令E将数字01H分别填入这两个内存块. 比较填入前后的结果,了解可读写内存RAM和只读内存 ROM的区别. 5,用A命令汇编一条INT 1C指令,用命令T单步执行该 指令,比较指令执行前后CS和IP,堆栈指针SP及堆栈内 容变化情况,了解什么是中断向量表,中断向量和中断 子程序,掌握中断指令的执行过程.
汇编语言程序设计
实验教程
保留版权(C) 秦晓梅 EMail:qinxm@
1
汇编语言程序设计的实验环境
硬件环境: 微型计算机(Intel x86系列CPU)一台. 软件环境: Windows 98/2000操作系统 任意一种文本编辑器(EDIT,NOTEPAD等) 汇编程序(MASM.EXE或TASM .EXE) 连接程序(LINK .EXE或TLINK .EXE) 调试程序(DEBUG .EXE或TD .EXE) 本实验建议汇编程序使用TASM .EXE,连接程序使用 TLINK .EXE.
保留版权(C) 秦晓梅 EMail:qinxm@ 12
LOOP1: MOV AL,BL INC BL MUL BL ADD DX,AX CMP AX,00C8H JNA LOOP1 MOV SUM,DX MOV AX,4C00H;***** INT 21H END START 结果保存在DX寄存器中,SUM单元中也有.用R 或D命令看结果,结果为045FH. 1,TD:在*****处设置断点,观察结果. 2,DEBUG:G1B↙,观察结果.
保留版权(C) 秦晓梅 EMail:qinxm@ 15
2,使用 寄存器间接寻址时应注意和寄存 器寻址方式的区别. 如:MOV AX,BX;BX中的内容传送 到AX MOV AX,[BX];数据段中BX所指 示的地址中的内容送AX 3,在双操作数指令中,源操作数和目的 操作数的地址不能同时为存储器地址. 如:M1和M2为两个存储器变量 则ADD M1,M2是错误指令.
保留版权(C) 秦晓梅 EMail:qinxm@
6
5,执行程序 建立了可执行文件后,就可以直接在DOS下运行此 程序. 方法:F1.EXE↙ 程序运行结束后,返回DOS.如果运行结果正确且 程序已把结果直接显示在屏幕上,那么程序运行结束 时结果也就得到了.如果程序不显示结果,则只能通 过调试的方法来纠正程序执行中的错误.
保留版权(C) 秦晓梅 EMail:qinxm@ 4
3,用TASM.EXE汇编源程序产生目标文件 源程序建立后,要使用汇编程序对源程序文件汇编. 汇编过程中,汇编程序对源程序进行两次扫描,检查其 语法错误,如果没有语法错误,则根据程序员的要求生 成目标(OBJ)文件,列表文件(LST)和交叉引用文 件(CRF). 如果源文件有错误,汇编程序会指出错误的行号和 错误的原因.源程序的错误有两种类型:警告Warning (警告不影响程序的运行,但可能会得出错误的结果) 和错误Error(对于错误,汇编程序将无法生成OBJ文 件).如果出现了严重错误,你必须重新进入EDIT编 辑器,根据错误的行号和错误的原因来改正源程序中的 错误,直到汇编没有错为止. 注意:汇编程序只能指出程序的语法错误,而无法 指出程序的逻辑错误. 方法:TASM F1.ASM↙ (其中, F1.ASM为源程序 名)
保留版权(C) 秦晓梅 EMail:qinxm@ 5
4,用TLINK.EXE产生可执行行,必须经过连接程序的连接和定位才能生成可 执行文件. 方法:TLINK F1.OBJ↙ 如果没有错误,LINK就会建立一个F1.EXE文件.如 果OBJ文件有错误,LINK会指出错误的原因.对于无 堆栈警告信息,可以不予理睬,它不影响程序的执行. 如果连接时有其他错误,要检查并修改源程序,重新 汇编,连接,直到正确.
保留版权(C) 秦晓梅 EMail:qinxm@ 10
命令接受状态,CPU将不断地到内存取指令,执行指令, 使用户失去对系统的控制,出现死机.为避免这种情况, 可在用户程序段结束前加上一小段返回DEBUG功能的 程序段,或用断点方式运行,以避免出现死机. 4,8086/8088CPU在开机后执行的第一条指令在内存 FFFF:0H开始处. 5,可读写内存RAM的内容可修改,而只读内存ROM 的内容不能修改,故命令E未能将数字01H填入F000: 200H~22FH的内存中,内存F000:200H~22FH的内 容填写前后保持不变. 6,中断指令INT N是指令系统中较复杂的一条指令, 结合教材中对中断指令的介绍,利用DEBUG来学习, 加强对中断指令的执行过程,中断向量表,中断向量和 中断子程序等内容的理解.
保留版权(C) 秦晓梅 EMail:qinxm@ 18
2,使用指令时,要清楚指令隐含的操作 寄存器. 如在乘法和除法指令中,只指出源操 作数地址,但要清楚目的操作数必须存放 在(AX)或(AL)中(乘法),或 (AX),(DX:AX)中(除法).又 如串指令(MOVS,STOS,LODS, CMPS,SCAS),它们的寻址方式也是 隐含的 ,指令规定操作是在数据段中SI 所指示的地址和附加段中DI所指示的地 址之间进行串处理的;在存取串时,AL 是隐含的存取寄存器.
保留版权(C) 秦晓梅 EMail:qinxm@ 9
三,实验说明 1,在DEBUG下,用户可对所有寄存器,RAM内存随意 查看和修改,但由于用户对DOS操作系统在内存中存放 情况不了解,可能会将存放有操作系统程序的内存内容 破坏,从而可能引起系统运行异常,往往是出现死机现 象.故建议使用DOS分配给用户的内存可用区,其低端 地址是刚进入DEBUG时,用命令R查看到的CS:IP.涉 及到修改内存的命令有A,E,F,M,L等. 2,初学者在使用DEBUG命令修改内存或执行程序时, 由于多种原因,出现死机是较经常的现象,可按RESET 复位按钮,重新启动系统. 3,用连续执行命令G执行程序时,注意给出执行的首地 址,或查看当前CS和IP值是否为要执行程序段的首地址, 并注意查看执行的指令流程中有无返回DEBUG功能的 程序段,如指令INT 20H或断点设置INT3,否则发出命 令后,很容易出现死机.原因是如无程序段使系统返回
保留版权(C) 秦晓梅 EMail:qinxm@ 20
4,用移位指令来倍增或倍减一个值是很 方便的,但要注意对有符号数和无符号数 所使用的指令应是不同的. 如 (AX)=8520H,当(AX)为无符 号数时, (AX)/2可用指令SHR AX,1, 结果为(AX)=4290H. 当(AX)为有符号数时, (AX)/2 应用指令SAR AX,1,结果为(AX) =0C29H.
保留版权(C) 秦晓梅 EMail:qinxm@ 2
问题: 问题:系统中含有MASM.EXE,LINK.EXE和 DEBUG.EXE程序,试说明如何汇编,连接和 调试一个名为F1.ASM的程序.(8分)—— 2001年考研题 答案: 汇编:MASM F1.ASM↙;以形成二进制目标文件 连接:LINK F1.OBJ ↙;以形成可执行文件 调试:DEBUG F1.EXE ↙ 调试命令:显示寄存器的内容r,检查内存d, 修改内存e,检查代码u,修改代码a,运行g