汇编语言实验指导书_第1页
汇编语言实验指导书_第2页
汇编语言实验指导书_第3页
汇编语言实验指导书_第4页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言实验指导书纪平张雷编写安徽工业大学计算机学院二 00 四年三月精品文档目录DEBUG.2.6.810121315182021。1欢迎下载精品文档实验一 DEBUG的启动及其基本命令的使用一实验目的:掌握 DEBUG的基本命令及其功能二实验内容:DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。1、DEBUG程序的启动在 DOS提示符下,可键入命令:C>DEBUGd:path 文件名 参数 1 参数 2其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在 DEBUG程序

2、调入后,出现提示符 “- ”,此时,可键入所需的 DEBUG命令。在启动 DEBUG时,如果输入了文件名, 则 DEBUG程序把指定文件装入内存。用户可以通过 DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用 DEBUG的命令进行修改、显示和执行。2、DEBUG的主要命令(1)汇编命令 A,格式为:-A 地址 该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。(2)反汇编命令 U,有两种格式:1)-U 地址 该命令从指定地址开始,反汇编 32 个字节,若地

3、址省略, 则从上一个 U命令的最后一条指令的下一个单元开始显示 32 个字节。2)-U 范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108 或 U 04BA:0100 L9此二命令是等效的。(3)运行命令 G,格式为:-G = 地址 1 地址 2 地址 3。其中地址 1 规定了运行起始地址, 后面的若干地址均为断点地址。2欢迎下载精品文档(4)追踪命令 T,有两种格式:1)逐条指令追踪:-T= 地址 该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。2)多条指令追踪:-T= 地址 值该命令从指定地址起执行n 条命令后停下来,n 由 值 确定。(5)

4、显示内存单元内容的命令D,格式为:-D 地址 或-D 范围 (6)修改内存单元内容的命令E,它有两种格式:1)用给定的内容代替指定范围的单元内容:-E 地址内容表例如: -E 2000 :0100 F3“XYZ” 8D其中 F3,“X”“Y”“Z”和 8D各占一个字节,用这五个字节代替原内存单元 2000:0100 到 0104 的内容,“X”“Y”“Z”将分别按它们的 ASCII 码值代入。2)逐个单元相继地修改:-E 地址例如: -E 100 :18E4:0100 89.78此命令是将原 100 号单元的内容 89 改为 78。78 是程序员键入的。(7)检查和修改寄存器内容的命令R,它有

5、三种方式:1)显示 CPU内部所有寄存器内容和标志位状态;格式为:-RR命令显示中标志位状态的含义如下表所示:标 志 名置位复位溢出 Overflow (是 / 否)OVNV方向 Direction(减量 / 增量)DNUP中断 Interrupt(允许 / 屏蔽)EIDI符号 Sign (负 / 正)NGPL零 Zero (是 / 否)ZRNZ辅助进位 Auxiliary Carry (是 / 否)ACNA奇偶 Parity (偶 / 奇)PEPO进位 Carry (是 / 否)CYNC。3欢迎下载精品文档2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如打入: -R AX系统将响

6、应如下:AX FIF4:表示 AX当前内容为 F1F4,此时若不对其作修改, 可按 ENTER键,否则,打入修改后内容,如:-R BXBX 0369: 059F则 BX内容由 0369 改为 059F3)显示和修改标志位状态,命令格式为:-RF系统将给出响应,如OV DN EI NG ZR AC PE CY-这时若不作修改可按 ENTER键,否则在“ - ”号之后键入修改值,键入顺序任意。如OV DN EI NG ZR AC PE CY-PONZDINV(8)命名命令 N,格式为:-N 文件名此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或 W命令把文件装入内存进行调试或者存盘。

7、(9)装入命令 L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L地址驱动器扇区号扇区数2)装入指定文件,格式为:-L 地址此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。在用 L 命令前, BX和 CX中应包含所读文件的字节数。(10)写命令 W,有两种格式:1)把数据写入磁盘的指定扇区:-W地址驱动器扇区号扇区数。4欢迎下载精品文档2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由 CS:5CH处的 FCB所规定的文件中。在用 W命令前, BX和 CX中应包含要写入文件的字节数。( 11)退出 DEBUG命令 Q,该命令

8、格式为Q它退出 DEBUG程序,返回 DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行 Q命令前先执行写命令 W。三实验要求:用汇编语言编写一个计算“3+5”的加法程序四实验报告:写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。5欢迎下载精品文档实验二内存操作数及寻址方法一实验目的:1、熟练掌握 DEBUG的常用命令,学会用DEBUG调试程序。2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。3、掌握简单指令的执行过程。二实验内容:1、设堆栈指针SP=2000H,AX=3000H,BX=50

9、00H;请编一程序段将AX和 BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用 DEBUG调试程序进行汇编与调试。2、设 DS=当前段地址, BX=0300H,SI=0002H;请用 DEBUG的命令将存储器偏移地址 300H304H连续单元顺序装入 0AH,0BH,0CH,0DH,0EH。在 DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时, AX中的内容是什么。程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,0304HMOV AX,BXMOV AX,0001BXMOV AX,BXSIMOV AX,000

10、1BXSIHLT。6欢迎下载精品文档三实验要求:1、实验前要做好充分准备, 包括汇编程序清单、 调试步骤、调试方法,以及对程序结果的分析等。2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。四实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。7欢迎下载精品文档实验三汇编语言程序的调试与运行一实验目的1学习数据传送和算术运算指令的用法2熟悉在 PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。二实验内容将两

11、个多位十进制数相加, 要求被加数和加数均以 ASCII 码形式各自顺序存放在 DATA1和 DATA2为首的 5 个内存单元中,结果送回 DATA1 处。三程序框图图 3.1两个多位十进制相加程序流程图。8欢迎下载精品文档四调试步骤1编辑源程序,建立一个以后缀为ASM的文件 .2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3 步。3连接目标程序,产生可执行程序。4DEBUG调试可执行程序,记录数据段的内容。5在操作系统状态下,运行程序,并记录屏幕显示内容。被加数加数屏幕显示内容127320681510732436916508717631五思考题1将上述程序改

12、为5 位数相加,结果为6 位数的加法程序。 ( 需考虑进位 )2简单叙述上机步骤,调试方法。9欢迎下载精品文档实验四查表程序设计一实验目的 :1、熟练掌握编写 汇编语言原程序的基本方法和基本框架。2、掌握查表法和查表指令XLAT。3、熟练使用 DEBUG调试程序。二实验内容:用查表的方法将一位十六进制数转换成与它相应的ASCII 码,并将结果存放到 ASCI单元中。三编程提示:既然指定用查表的方法, 那么首先要建立一个表TABLE。我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII 码值。DATASEGMENTTABLEDB 30H ,31H,32H,33H,34H,35H,36H

13、,37HDB 38H,39H,41H,42H,43H,44H,45H,46HHEXDB X;X 为待转换的十六进制数ASCIDB?;存放转换后的ASCII 码DATAENDS四实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等五实验报告:1 、程序说明。说明程序的功能、结构。10欢迎下载精品文档2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。11欢迎下载精品文档实验五系统功能调用一实验目的:1、掌握接受键盘数据的方法, 并了解将键盘数据显示时,

14、 须转为 ASCII码的原理。2、掌握 DOS功能调用的编程方法。二实验内容:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。三编程提示 :利用 DOS功能调用 INT21H的 1 号功能从键盘输入字符和 2 号功能在显示器上显示一个字符。四实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。五实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、写出源程序清单和执行结果。12欢迎下载精品文档实验六分支程序设计

15、一实验目的:1、掌握分支程序的结构。2、掌握分支程序的设计、调试方法。二实验内容:假设有一组数据: 5,-4 ,0,3,100,-51 ,请编一程序,判断:每个数大于 0,等于 0,还是小于 0;并输出其判断结果。即:1当 x>0y=0当 x=0-1当 x<0三实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。四编程提示:1、首先将原始数据装入起始地址为XX的字节存储单元中。2、将判断结果以字符串的形式存放在数据区中,以便在显示输出时调用。3、其中判断部分可采用CMP指令,得到一个分支结构,分别输出“y=0”,“y=1” , “y=-1

16、”。4、程序中存在一个循环结构,循环6 次,调用 6 次分支结构后结束。13欢迎下载精品文档五思考题:程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序观察并分析。六实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。5、回答思考题。14欢迎下载精品文档实验七循环程序设计一实验目的1掌握循环程序设计的方法(两重性循环结构)2掌握正确分配与使用寄存器。二实验内容与要求以 GRADE为首地址的10 个字的数组中

17、保存有学生成绩。建立一个10个字的 RNAK数组,并根据GRADE中的学生成绩将学生名次填入RANK数组中(提示:一个学生的名次等于成绩高于等于该学生的人数加1)。寄存器分配情况说明如下:AX存放当前被测学生的成绩BX存放当前被测学生的相对地址指针CX内循环计数值DX存放当前被测学生的名次计数值SI内循环测试时的地址指针DI外循环计数值三程序框图。15欢迎下载精品文档。16欢迎下载精品文档图 71 程序框图四思考题1改为通过键盘输入方式提供学生成绩。2将成绩与名次在屏幕上显示。3指出控制循环程序的方法,并划分该程序的四个组成部分。17欢迎下载精品文档实验八子程序设计一实验目的1掌握程序设计方法

18、,合理划分层次2掌握子程序的调用与返回的方法3了解子程序的嵌套与递归二实验内容与要求编制一程序,要求键入一个班的学生成绩,并存放于 50 字的 ERADE 数组中,然后根据 ERADE中的成绩,把学生名次填入 50 字的 RANK数组中,再按学号顺序把名次从终端上显示出来。提示: 程序 MAIN功能:根据输入的学生成绩,计算并显示出学生名次。 程序 INPUT功能:接收一个班级学生的成绩,各成绩之间用空格隔开。 程序 RANKP功能:计算一个班级学生的名次。( 可参照循环程序 ( 一) 中的程序段 ) 程序 OUTPUT功能:输出(显示)一个班级的学生名次 程序 DECIBIN功能:十进制转换

19、二进制,存入BX。18欢迎下载精品文档 程序 BINDEC功能:十进制转换二进制,并在屏幕上显示。 程序 DEC_DIV功能: BX的内容除以 CX的内容,并在屏幕上显示一位商。三程序框图:图 8 1程序流程图四步骤1自编主程序与子程序。2输入本班级某门基础课成绩。五思考题1写出 4 位 BCD码转二进制数的算法。2写出 AX中进二制数转BCD码的算法。3将上述子程序结构改为模块化程序设计。19欢迎下载精品文档实验九综合程序设计一实验目的:1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。2、掌握综合程序的编制及调试方法。二实验内容:设有十个学生成绩分别是76,69,84,90,

20、73,88,99,63,100 和80 分。试编制一个子程序,统计低于60 分, 6069 分, 70 79 分, 8089 分, 9099 分和 100 分的人数,并输出显示统计结果。三编程提示:1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。四实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。5、体会和意见。20欢迎下

21、载精品文档实验报告系班级学号姓名同组者指导教师。21欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。22欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。23欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。24欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。25欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。26欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。27欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。28欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。29欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。30欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。31欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。32欢迎下载精品文档实验报告系班级学号姓名同组者指导教师。33欢迎下载精品文档实验报告系班级学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论