汇编语言程序设计实验说明书

合集下载

新版汇编语言程序设计实验指导书(精)

新版汇编语言程序设计实验指导书(精)

新版汇编语言程序设计实验指导书(精)汇编语言实验指导书目录实验一debug的启动及其基本命令的使用(2实验二内存操作数及寻址方法(6实验三汇编语言程序的调试与运行(8实验四查表程序设计(10实验五系统功能调用(12实验六循环程序设计(13实验七分支程序设计(15实验八子程序设计(18实验九综合程序设计(20附录实验报告(21实验一debug的启动及其基本命令的采用一.实验目的:掌握debug的基本命令及其功能二.实验内容:debug就是专门为汇编语言设计的一种调试工具,它通过STM,设置断点等方式为汇编语言程序员提供更多了非常有效率的调试手段。

1、debug程序的启动在dos提示符下,可以键入命令:c>debug[d:][path][文件名][参数1][参数2]其中文件名就是被调试文件的名称,它须就是继续执行文件(exe,两个参数就是运转被调试文件时所须要的命令参数,在debug程序调到后,发生提示符“-”,此时,可以键入所需的debug命令。

在启动debug时,如果输入了文件名,则debug程序把指定文件装入内存。

用户可以通过debug的命令对指定文件进行修改、显示和执行。

如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用debug的命令进行修改、显示和执行。

2、debug的主要命令(1编订命令a,格式为:-a[地址]该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。

(2反汇编命令u,有两种格式:1-u[地址]该命令从选定地址已经开始,反汇编32个字节,若地址省略,则从上一个u命令的最后一条指令的之下一个单元已经开始表明32个字节。

2-u范围该命令对指定范围的内存单元进行反汇编,例如:-u04ba:01000108或cu04ba:0100l9此二命令就是耦合的。

(3运转命令g,格式为:-g[=地址1][地址2[地址3。

汇编语言程序设计指导书

汇编语言程序设计指导书

《汇编语言程序设计》实验指导书适用于计科专业2004级前言汇编语言实验主要使学生掌握DEBUG调试程序中各命令的利用方式,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方式。

本实验大纲要求学生熟练掌握汇编语言指令练习、顺序程序设计、分支程序设计、循环程序设计和子程序设计。

一、实验环境汇编语言程序设计的实验环境如下:1.硬件环境微型运算机(Intel x86系列CPU)一台2.软件环境Windows98/2000/XP操作系统任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)汇编程序(或)连接程序(或)调试程序(或)文本编辑器建议利用EDIT或NOTEPAD,汇编程序建议利用,连接程序建议利用,调试程序建议利用。

二、上机实验步骤1.肯定源程序的寄存目录建议源程序寄存的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。

2.成立ASM源程序成立ASM源程序能够利用EDIT或NOTEPAD(记事本)文本编辑器。

注意,汇编语言源程序文件的扩展名最好起名为.ASM,如此能给后面的汇编和连接操作带来专门大的方便。

3.用汇编源程序产生OBJ目标文件源文件成立后,要利用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。

具体操作如下:方式一:在Windows中操作用资源管理器打开源程序目录C:\ASM,把拖到程序图标上。

方式二:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:D:>C:<回车>C:>CD \ASM<回车>C:\ASM>MASM <回车>操作时的屏幕显示如图1所示。

图1 在DOS命令提示符窗口中进行汇编无论用以上二个方式中的哪个方式,进入MASM程序后,都会提示让你输入目标文件名(Object filename),并在方括号中显示默许的目标文件名,建议输入目标文件的完整路径名,如:C:\ASM\〈回车〉。

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

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

重庆师范大学涉外商贸学院计算机各专业实验用书汇编语言程序设计实验指导书(第一版)张开成编前言为适应教学内容由简到繁、由易到难、由浅入深的教学特点,我们编写了这本简易实验指导书,用以指导实验教学。

该指导书分两部分,第一部分指出实验的实验目的、实验内容、实验准备、实验要求、共提出十五个实验,需三十个学时完成。

第二部分为十五个实验的全部程序,仅供学生参考。

该实验指导书由数计学院计算机教研室张开成同志编写。

2010年2月第一部分提出各实验的实验内容、实验目的、实验要求和学时分配实验一:汇编语言基本操作实验(2学时)一、实验目的:明确QE、MASM、LINK三个系统软件的作用。

掌握汇编语言程序的编辑、汇编、连接过程。

二、实验内容:1、编写一个程序:用十进制输出一个按键的AS CⅡ值。

2、从键盘上读入两个一位数(必须保证按下数字键),输出它们的积。

三、实验准备:1、预习QE、MASM、LINK 三个软件的使用方法。

2、按实验要求,编写好实验源程序。

四、实验步骤:1、用QE编辑扩展名为.ASM的源文件。

2、汇编、连接生成扩展名为.EXE的可执行文件。

3、运行程序。

五、实验报告要求:1、总结用QE编辑源程序的方法。

2、说明源程序的连接、汇编过程。

3、分析运行结果。

4、按要求写出完整的实验报告(必须列出程序清单)。

实验二:分支程序设计实验(2学时)一、实验目的:1、学会简单分支和多分支程序的设计方法。

2、掌握程序的调试方法。

二、实验内容:1、从键盘读入两个一位数,输出它们的积。

若为非数字键,则显示字符“E”,退出程序。

2、从键盘接收一个按键,如为小写字母,则显示“L”,是大写字母,则显示“U”,如是数字,则显示“N”,都不是则显示“*”。

三、实验准备:1、预习分支程序设计方法。

2、按实验内容要求,编写好实验源程序。

四、实验步骤:1、用QE编辑扩展名为.ASM的源文件。

2、汇编、连接生成可执行文件.EXE。

3、运行程序。

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

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

实验一简单程序编制和上机过程一.实验目的1.掌握计算机常用代码的软件转换技术。

2.熟悉DEBUG软件的使用。

3.掌握简单程序的编程方法。

二.实验内容代码转换是计算机和I/O设备进行信息交换的重要技术之一。

各种I/O设备所提供和接收的数据编码不尽相同。

为了处理这些信息,计算机必须将各种不同编码形式的信息转换成别种适当的数据形式。

例如,键盘输入的数据均为ASC Ⅱ码形式存储在内存中,通常要求将其转换成相应的数据形式。

一般实现代码转换有两种方法:1.软件法利用CPU的算术逻辑运算功能,通过运算或查表实现各种数据代码间的转换。

该方法经济但速度慢。

2.硬件法利用专用代码转换集成电路进行转换。

如74LS74可把BCD码转换为七段代码。

这种方法需要硬件费用,但速度快。

本实验要求掌握软件编码转换技术。

计算机常用的代码有二进制、八进制、十六进制、BCD码、ASCⅡ码、七段码等,它们之间的相互关系如下表所示。

本次试验的内容是ASCⅡ码转换为未组合BCD码设从键盘输入十进制数的ASCⅡ码已存放在起始地址CS :150H的单元中,把它转换成未组合BCD码后,再分别存入起始地址为CS:15AH的单元中。

若输入的不是十进制数的ASCⅡ码,则相应存放结果单元的内容为“FF”。

提示:1.组合BCD码是一位十进制数字占一个字节,高半字节为0,低半字节为该十进制数字的BCD码。

ASCⅡ码转换为未组合BCD码只需减30H。

2.程序框图如下图所示。

3.程序执行前,需要在CS:150H内存缓冲区写入待转换的ASCⅡ码。

方法如下:方法一:用A命令-ACS:150 DB 35,39,30,41,32CS:155 ∧C方法二:用E 命令-ECS:150,35,39,30,41,32方法三:用F命令-FCS:150 L5 35,39,30,41,321.执行程序后检查执行结果可用D命令:-DCS:15ACS:15A 05,09,00,FF,02ASCⅡ码转换为未组合BCD码的程序流程图参考程序如下:ORG 100HMOV CX,0005HMOV DI,150HBB:MOV BL,0FFHMOV A,[DI]CMP AL,3AHJNB DONESUB AL,30HJB DONEMOV BL,ALDONE:MOV AL,BLMOV [DI+0AH],ALINC DILOOP BBINT 20HORG 150HDB 35H,39H,30H,41H,32H实验二顺序结构的程序设计一.实验目的1.掌握计算机常用代码的软件转换技术。

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

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

《汇编语言程序设计》实验教学大纲实验教学大纲《汇编语言程序设计》一、实验目的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年以上是《汇编语言程序设计》实验教学大纲的内容,旨在帮助学生全面了解实验的目的、内容和要求,明确学习的流程和方式。

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

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

汇编语⾔程序设计实验指导书汇编语⾔程序设计实验指导书信息学院⼆OO七年九⽉汇编语⾔程序设计实验指导讲义⽬录序⾔ IBM PC汇编语⾔实践操作 (1)实验⼀ DOS常⽤命令及8088指令使⽤ (8)实验⼆内存操作数及寻址⽅法 (11)实验三数据串传送和查表程序 (13)实验四屏幕字符显⽰程序 (15)实验五条件转移指令 (17)实验六汇编语⾔程序上机过程 (20)实验七分⽀程序 (22)实验⼋多重循环程序 (24)实验九⼦程序 (25)实验⼗⾳乐程序 (28)实验⼗⼀数码转换程序 (30)实验⼗⼆键盘和窗⼝程序 (33)实验⼗三活动图形显⽰程序 (35)实验⼗四磁盘⽂件操作程序 (38)实验⼗五绝对磁盘读写程序 (44)IBM PC汇编语⾔实践操作本章主要介绍了汇编语⾔源程序的编辑、汇编、连接的⽅法,DEBUG调试命令及其使⽤⽅法⼀、编辑源程序汇编语⾔源程序:⽤汇编语句编写的解决应⽤问题的程序。

汇编程序:将汇编语⾔源程序翻译成机器语⾔程序的系统。

汇编:将汇编语⾔程序翻译成机器语⾔程序的过程。

在编辑汇编语⾔源程序时,对计算机硬件⼯作环境⽆特殊要求,对软件⼯作环境要求也很简单,只需⽤建⽴ASCII码⽂本⽂件的软件即可。

(1)编辑软件⾏编辑软件:/doc/9a62dcfd770bf78a65295449.html全屏编辑软件:WPS、/doc/9a62dcfd770bf78a65295449.html 、/doc/9a62dcfd770bf78a65295449.html 、WORD、PE等。

当输⼊、建⽴和修改源程序时,可任选⼀种编辑软件,不要⽤格式控制符,要求编辑完成的⽂件扩展名⼀定是.ASM。

(2)汇编程序有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,⼀般使⽤宏汇编MASM.EXE,因它⽐ASM.EXE功能强。

TASM适⽤于8086/8088~Pentium系列指令系统所编写的汇编语⾔程序,是⽐较先进的汇编⼯具。

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

实验一宏汇编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作地址功能:键入该命令后显示的地址和位移并等待用户从键盘逐条键入汇编命令。

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

重庆师范大学涉外商贸学院计算机各专业实验用书汇编语言程序设计实验指导书(第一版)张开成编前言为适应教学内容由简到繁、由易到难、由浅入深的教学特点,我们编写了这本简易实验指导书,用以指导实验教学。

该指导书分两部分,第一部分指出实验的实验目的、实验内容、实验准备、实验要求、共提出十五个实验,需三十个学时完成。

第二部分为十五个实验的全部程序,仅供学生参考。

该实验指导书由数计学院计算机教研室张开成同志编写。

2010年2月第一部分提出各实验的实验内容、实验目的、实验要求和学时分配实验一:汇编语言基本操作实验(2学时)一、实验目的:明确QE、MASM、LINK三个系统软件的作用。

掌握汇编语言程序的编辑、汇编、连接过程。

二、实验内容:1、编写一个程序:用十进制输出一个按键的AS CⅡ值。

2、从键盘上读入两个一位数(必须保证按下数字键),输出它们的积。

三、实验准备:1、预习QE、MASM、LINK 三个软件的使用方法。

2、按实验要求,编写好实验源程序。

四、实验步骤:1、用QE编辑扩展名为.ASM的源文件。

2、汇编、连接生成扩展名为.EXE的可执行文件。

3、运行程序。

五、实验报告要求:1、总结用QE编辑源程序的方法。

2、说明源程序的连接、汇编过程。

3、分析运行结果。

4、按要求写出完整的实验报告(必须列出程序清单)。

实验二:分支程序设计实验(2学时)一、实验目的:1、学会简单分支和多分支程序的设计方法。

2、掌握程序的调试方法。

二、实验内容:1、从键盘读入两个一位数,输出它们的积。

若为非数字键,则显示字符“E”,退出程序。

2、从键盘接收一个按键,如为小写字母,则显示“L”,是大写字母,则显示“U”,如是数字,则显示“N”,都不是则显示“*”。

三、实验准备:1、预习分支程序设计方法。

2、按实验内容要求,编写好实验源程序。

四、实验步骤:1、用QE编辑扩展名为.ASM的源文件。

2、汇编、连接生成可执行文件.EXE。

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. 理解汇编语言的基本概念和语法结构。

2. 掌握汇编语言程序设计的基本方法和技巧。

3. 熟悉汇编程序的编写、编译、调试和运行过程。

4. 增强对计算机硬件工作原理的认识和理解。

实验环境- 汇编语言开发环境,如MASM、NASM等。

- 汇编器和链接器,用于将汇编源代码转换为可执行文件。

- 调试工具,如调试器,用于检查程序的执行过程。

实验内容1. 汇编语言基础- 学习汇编语言的指令集和操作数。

- 了解汇编语言的基本语法和程序结构。

2. 编写简单的汇编程序- 编写一个程序,实现数据的输入和输出。

- 编写一个程序,实现简单的算术运算。

3. 寄存器和内存操作- 学习如何使用寄存器进行数据存储和操作。

- 编写程序,实现内存地址的数据读写。

4. 循环和条件判断- 学习循环结构和条件判断的实现方法。

- 编写程序,实现循环和条件判断的功能。

5. 子程序调用- 学习子程序的编写和调用方法。

- 编写一个主程序和若干子程序,实现模块化编程。

6. 中断和异常处理- 了解中断和异常的基本概念。

- 编写程序,实现简单的中断服务程序。

7. 汇编与高级语言的接口- 学习如何将汇编程序与C/C++等高级语言程序进行接口。

- 编写程序,实现汇编语言与高级语言的混合编程。

实验步骤1. 环境搭建:安装并配置汇编语言开发环境。

2. 编写代码:根据实验要求编写汇编语言源代码。

3. 编译程序:使用汇编器将源代码编译为机器代码。

4. 链接程序:使用链接器将编译后的代码与其他必要的库链接成可执行文件。

5. 调试程序:使用调试工具检查程序的执行过程,找出并修复错误。

6. 运行程序:在适当的环境下运行程序,验证程序的正确性。

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

汇编语言程序设计实验说明书实验一 DOS常用命令及8088指令使用 (1)实验二内存操作数及寻址方法 (4)实验三数据串传送和查表程序 (6)实验四屏幕字符显示程序 (8)实验五条件转移指令 (10)实验六汇编语言程序上机过程 (13)实验七分枝程序 (15)实验八多重循环程序 (17)实验九子程序 (18)实验十音乐程序 (21)实验十一数码转换程序 (23)实验一 DOS常用命令及8088指令使用实验目的:通过实验掌握下列知识:1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及用16进制数表示二进制码的方法。

5、8088寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:一、DOS常用命令练习:1、将机房提供的系统盘插入A驱动器中,开机,出现提示符后打入命令FORMAT B:/S。

等屏幕上出现提示后将新盘插入B驱动器并打回车。

PC机即对新盘格式化并将糸统拷入。

2、打命令 COPY A:*。

* B 将糸统盘上全部文件拷到你的盘上。

3、将新盘插到 A驱动器中,用DIR命令查看盘上文件。

4、用命令 COPY DEBUG。

COM BUG 复制一个文件。

5、用命令 RENAME BUG BG 将BUG 文件改为BG。

6、用命令 DEL BG 将文件BG删除。

在操作时要注意提示信息,并按提示操作。

二、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。

4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

8、用R命令将AX,BX内容改写为1050H及23A8H。

三、8088常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

并注意标志位有无变化。

2、加减法指令:1)用A命令在内存100H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX2)用U命令检查键入的程序及对应的机器码。

3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。

思考:这次运行还是打入T,行不行?怎么办?用R命令检查一下IP的内容。

注意T命令与IP 的关系。

3、带进位加减法:1)用A命令在内存200H处键入下列内容,并用U命令检查:MOV AH,12MOV AL,84MOV CH,56MOV CL,78ADD AL,CLADC AH,CHMOV DH,A7MOV DL,58SUB DL,7FSBB DH,342)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。

3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。

4、BCD码加减法1)内容:MOV AL,58ADD AL,25DAA2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。

实验报告要求:1、16进制数加减法手算结果及实验结果2、8088常用指令练习部分的逐条运行记录,思考结果及自编程序运行记录 (列出自编程序)。

附:DEBUG 使用:1、打 DEBUG 进入 DEBUG,显示提示苻 '_ '。

2、退出DEBUG命令:Q3、显示内存命令:D 起始地址结束地址4、修改内存命令:E 起始地址,连续修改打空格键。

打回车键退出E命令。

5、检查寄存器命令:R标志位显示 1 0CF CY NCZF ZR NZSF NG PLAF AC NAOF OV NVPF PE PODF DN UPIF EI DI6、修改寄存器命令:R 寄存器名7、小汇编命令:A 起始地址,不输入指令打回车键退出A命令。

8、反汇编命令:U 起始地址结束地址9、文件命名命令:N 盘号:文件名10、读文件命令:L 内存地址11、写文件命令:W 内存地址10、读扇区命令:L 内存地址盘号(0--A:,1--B:) 扇区号扇区数11、写扇区命令:W 内存地址盘号扇区号扇区数12、运行命令:G=起始地址结束(断点)地址13、单步命令:T=起始地址运行指令数,进入子程序内部。

14、单步命令:P=起始地址运行指令数,不进入子程序内部。

15、内存搬家命令:M 起始地址结束地址目的地址实验二内存操作数及寻址方法实验目的:通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。

2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。

3、8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。

4、8088汇编语言伪操作:BYTE PTR,WORD PTR。

5、求累加和程序和多字节加减法程序。

实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DLMOV WORD PTR[BX+SI+2],2846步骤:1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。

注意D命令显示结果中右边的ASCII字符及双字节数存放法。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

二、求累加和程序:程序:MOV BX,1000MOV CX,10SUB AX,AXLOP: ADD AL,[BX]AD CAH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。

2)用命令N AA将此程序命名为文件AA(文件名可任取)。

3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)4)用命令W 100将此程序存到AA命名的磁盘文件中。

5)用命令Q退出DEBUG。

6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。

若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。

7)用E命令在内存地址1000H处键入16个数字8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。

9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。

10)重复G J与T,再检查AX是否正确。

11)用G命令使程序运行到结束,检查AX值是否正确。

三、多字节加法程序。

程序:MOV DI,1000MOV CX,8MOV SI,2000CLCLOP: MOV AL,[SI]ADC [DI],ALINC SIINC DILOOP LOPINT 20步骤:1)用命令键入此程序2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。

3)。

用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。

四。

自编程序:用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。

调试并做记录。

实验报告要求:1、各项实验结果记录。

2、自编程序原稿及调试后修正稿,写出原稿错在那里。

实验三数据串传送和查表程序实验目的:通过实验掌握下列知识:1、堆栈。

堆栈指示器SP和堆栈操作指令PUSH。

POP。

2、段寄存器和物理地址计算。

3、查表法和查表指令XLAT。

4、数据串传送程序和数据串传送指令MOVS。

STOS及重复前辍REP。

5、循环指令ROL。

逻辑与指令AND和清方向位指令CLD。

6、伪操作指令DB。

实验内容及步骤:一、利用查表方法把DX的内容(16进制数)转换成ASCII码:1、用A命令键入下列程序:MOV BX,1000MOV DI,2000MOV CX,4LOP: PUSH CXMOV CL,4ROL DX,CLPOP CXMOV AL,DLAND AL,OFXLATCLDSTOSBLOOP LOPINT 202、用A命令在1000H处键入下列ASCII码并用D命令检查之:DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'用D命令检查时注意左边的ASCII码值和右边的字符。

3、用R命令给DX送一个四位的16进制数(例7F8E)。

4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。

可注意屏幕右边的ASCII字符与DX是否一致。

二、数据串搬家程序:1、用A命令键入下列程序:MOV SI,1000MOV DI,1500MOV CX,0FLOP: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LOPINT 202、用A命令DB伪指令在1000H键入下列字符串:‘IBM_PC COMPUTER'3、用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。

4、若此程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬到1002H开始的地方去?修改程序以做到这一点。

相关文档
最新文档