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

合集下载

汇编语言实验一 指导书

汇编语言实验一 指导书

实验一:汇编上机指导及例示一、实验目的●了解汇编语言程序的运行环境和所需的系统程序;二、实验要求●掌握如何编辑、汇编、连接和运行汇编程序;●掌握常用的DEBUG命令。

三、实验原理题:在屏幕上显示一条'THIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAY'提示信息,如从键盘上输入ESC键,则结束程序,如输入的不是大写字母,则在显示器上显示出来,如输入的是大写字母,则转换为小写字母输出。

四、实验设备计算机五、实验步骤1、用用文字编辑工具(常用EDIT或记事本)将源程序输入,其扩展名为.ASM。

2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

3、用TYPE命令显示产生的.LST文件。

4、用LINK将.OBJ文件连接成可执行的.EXE文件。

5、在DOS状态下运行LINK产生的.EXE文件。

用于调试程序时的输入格式:DEBUG FILENAME.??? 回车其中FILENAME是主文件名,???是扩展文件名,例如我们在此前已编译好了一个文件,它的名字为:djx.exe 要对它进行调试时就在DOS提示符下打:DEBUG djx.exe 回车,便可见到 '-' 提示符,如无任何提示说明正确,可进行调试按ESC键可返回DOS。

若未出现预期结果,用DEBUG检查程序。

附: 基本debug操作1、显示内存单元的内容:-d [地址] 或 [范围]2、修改内存单元的内容:-e 地址内容表或-e 地址3、显示CPU内部寄存器和标志位状态:-r4、显示和修改某个寄存器的内容:-r 寄存器名5、汇编命令:-a 地址6、逐条指令追踪:-t [=地址] (无地址则执行IP所指示的指令)7、退出debug:-g8、多条指令追踪:-t [=地址] [n]注:该指令从指定地址起执行n条命令后停下来9、运行命令:-g [=地址1] [地址2 [地址3...]]地址1规定了运行起始地址,后面的地址均为若干断点地址10、反汇编命令:(1)-u [地址]该命令从指定地址开始,反汇编32个字节,若省略地址,则从上一个u命令的最后一条指令的下一单元开始显示32个字节(2)-u 范围该命令对指定范围的内存单元进行反汇编如:-u 04ba:0100 0108等价于:-u 04ba:0100 L9下面给出一些常见出错信息,以便查对:1、Register already defined 汇编内部出现逻辑错误2、Unknown symbol type 在符号语句的类型中,有些不能识别的东西3、Symbol is multi-defined 重复定义一个符号4、Symbol not defined 符号没有定义5、Syntax error 语句的语法与任何可识别的语法不匹配6、Symbol is reserved word 企图非法使用一个汇编程序的保留字(例:定义add为一变量)7、Not proper align/combine type SEGMENT参数不正确8、One operand must be const 这是加法指令的非法使用9、Operands must be same or 1 abs 这是减法指令的非法使用10、Already have base register 试图重复基地址11、Illegal size for item 引用的项的长度是非法的,(如:双字移位)12、Illegal register value 指定的寄存器值不能放入“reg”字段13、Must be AX or AL 某些指令只能用AX或AL14、Improper use of segment reg 段寄存器使用不合法(如:mov ds,0)15、Division by 0 or overflow 给出一个用0作除数的表达式16、Value is out of range 数值大于需要使用的17、CS register illeal usage 试图非法使用CS寄存器18、DUP is too large for linker DUP嵌套太长,以至于从连接程序不能得到所要的记录。

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

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

汇编语言实验报告题目:子程序设计班级:rbw111姓名:吴德鹏学号:201107092416完成日期:2013.12.22概述:《汇编语言程序设计》实验指导书是非计算机、非电类的其他专业:包括纺织、机械、热能等专业的《汇编语言程序设计》课程配套使用的实验指导。

在理论课的教学中着重介绍微机系统的组成及工作原理,针对INTEL 8088/8086系列介绍相应的指令系统和汇编语言程序设计,介绍了接口的一般概念和CPU与外设交换信息的常用方式的软硬件设计思想。

实验课测重培养学生的汇编语言设计能力及一些简单接口程序设计的方法,训练学生汇编语言程序调试的能力。

通过实验,使学生加深对课堂教学内容的理解,培养学生综合使用微型机的初步能力。

其中实验一、实验二是后续实验的基础,通过该实验,学生应能了解汇编语言源程序的一般格式,熟悉汇编语言程序的上机过程和调试程序的基本方法,重点放在DEBUG调试程序的命令使用方法上。

也可以将实验一、实验二合并为一个实验,按照*实验一的要求进行;实验三、四、五进一步培养学生的各种结构的程序设计能力;实验六主要是简单接口的综合应用,为学生建立一个微机应用系统的概念,使学生通过具体的实例对相关的接口有感性认识,提高学生的实际动手能力和独立解决问题的能力。

教师可以根据专业学时的多少和学生的具体情况来开设实验。

一、实验目的:1.进一步熟悉分支、循环程序设计的方法及用DEBUG调式程序的方法。

2.熟练掌握子程序的参数传递的方式、子程序的嵌套、递归调用及其设计方法和技巧。

3、培养学生创新精神和独立运用所学基本知识和技能分析问题和解决问题的能力。

二、实验属性:显示学生名次表:编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字的grade数组中,其中grade+i保存学号为i+1的学生的成绩。

然后根据grade中的学生成绩,把学生名次填入50字的rank数组中,其中rank+i的内容是学号为i+1学生的名次。

汇编语言实验指导书new

汇编语言实验指导书new

目录第一部分汇编语言程序的上机过程 (1)一、建立汇编语言的工作环境 (1)二、在计算机上运行汇编语言的步骤 (1)三、建立ASM文件 (1)四、用MASM程序产生OBJ文件 (3)五、用LINK程序产生EXE文件 (3)六、程序的执行 (3)七、举例 (3)第二部分汇编语言上机调试 (4)一、为何需要调试? (4)二、如何进行调试? (5)第三部分汇编语言上机内容 (8)实验一输出字符串 (8)实验二算术指令综合编程 (8)实验三查找子字符串 (9)实验四信息检索 (9)实验五格式化输出 (9)实验六数组合并 (9)实验七字符统计 (10)实验八字符串排序 (10)第四部分汇编语言实验参考代码 (10)实验一输出字符串 (10)实验二算术指令综合编程 (11)实验三查找子字符串 (12)实验四信息检索 (13)实验五格式化输出 (16)实验六数组合并 (16)实验七字符统计 (18)实验八字符串排序 (21)第一部分汇编语言程序的上机过程一、建立汇编语言的工作环境为运行汇编语言程序至少要在磁盘上建立以下文件:1、编辑程序,如EDIT.EXE2、汇编程序,如MASM.EXE3、连接程序,如LINK.EXE4、调试程序,如必要时,还可建立如CREF.EXE,EXE2BIN.EXE等文件。

二、在计算机上运行汇编语言的步骤1、用编辑程序建立ASM源文件,以ASM作为扩展名2、用汇编程序把ASM文件转换成OBJ文件3、用连接程序把OBJ文件转换成可执行文件4、在DOS提示符下直接键入可执行文件名即可执行该程序三、建立ASM文件建立ASM文件的编辑程序可以是DOS自身带的编辑程序EDIT.EXE,在DOS提示符下键入EDIT命令即可出现EDIT界面,其操作如下:D:\>edit源程序输入完后,以ASM作为扩展名进行保存,假设所保存的文件名为:ex.asm。

ASM源文件的格式1:;定义数据段,如果需要的话,其中segment和ends是一对伪操作,表示段的开始和结束data segment ;数据段开始;定义数据段的主体,如定义变量data ends ;数据段结束;定义附加段,如果需要的话extra segment ;附加段开始;定义附加段的主体,如定义变量extra ends ;附加段结束;定义代码段,必须的code segment ;代码段开始main proc far;程序的主体部分,proc和endp这一对伪操作表示一个程序模块的开始和结束assume ds:data, es:extra, cs:code ;assume 伪操作指定某个段分配给哪个段寄存器start: ;程序的入口地址push ds ;保存原数据段sub ax,ax ;ax寄存器清零,作为数据段0偏移地址push ax ;数据段0偏移地址压入堆栈中mov ax,datamov ds,ax ;把数据段地址装入数据段寄存器dsmov ax,extramov es,ax ;把附加段地址装入附加段寄存器es;自己所要实现的功能源代码在此添加ret ;程序结束后返回DOSmain endp ;程序的主体部分结束code ends ;代码段结束end start ;汇编程序的结束,程序在start处开始执行ASM源文件的格式2:;定义数据段,如果需要的话,其中segment和ends是一对伪操作,表示段的开始和结束data segment ;数据段开始;定义数据段的主体,如定义变量data ends ;数据段结束;定义附加段,如果需要的话extra segment ;附加段开始;定义附加段的主体,如定义变量extra ends ;附加段结束;定义代码段,必须的code segment ;代码段开始main proc far;程序的主体部分,proc和endp这一对伪操作表示一个程序模块的开始和结束assume ds:data, es:extra, cs:code ;assume 伪操作指定某个段分配给哪个段寄存器start: ;程序的入口地址mov ax,datamov ds,ax ;把数据段地址装入数据段寄存器dsmov ax,extramov es,ax ;把附加段地址装入附加段寄存器es;自己所要实现的功能源代码在此添加mov ax,4c00h ;程序结束后返回DOSint 21hmain endp ;程序的主体部分结束code ends ;代码段结束end start ;汇编程序的结束,程序在start处开始执行该步以及以下几步在电脑上一边讲解,一边演示给同学们看。

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

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

新版汇编语言程序设计实验指导书(精)汇编语言实验指导书目录实验一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。

《汇编 语言》实验 指导书

《汇编 语言》实验  指导书

孝感学院计算机科学系本科《汇编语言程序设计》实验指导书目录实验一:汇编环境与DEBUG调试 (2)实验二:8086汇编语言分支程序设计 (8)实验三:8086汇编语言循环程序设计 (10)实验四:8086汇编语言子程序程序设计 (13)实验五:8086汇编语言中断与磁盘程序设计 (17)相关说明:《汇编语言程序设计》实验的主要目的是掌握汇编程序调试的方法与一般的程序设计能力,为今后的硬件应用打下基础。

因此本实验指导书重在强调实验调试的环节,有关程序设计的具体方法及相关算法请参见教材。

此文件中用黑体字加粗的内容一般为重要信息或实验的步骤与要求,未使用黑体加粗或有下划线的内容是提示信息或问题的答案。

实验一:汇编环境与DEBUG调试目的与要求熟悉汇编环境与汇编源程序的调试,重点掌握汇编的过程与常用DEBUG命令的用法实验内容一、熟悉汇编的编程环境1.汇编语言源程序的建立:可以使用任何文本编辑器建立汇编源程序文件,如:TC、EDIT等。

但建立的文件扩展名建议为.asm,下面的源程序功能用于在屏幕上输出字符串“hello,world!”,我们通过此源程序的运行过程了解汇编的编程环境。

DATA SEGMENTBUF DB“hello,world!$”DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AX,9INT21HMOV AH,4CHINT21HCODE ENDSEND START在DOS提示符下键入以下编辑器命令,如:C:\MASM>EDIT或TC然后在编辑器的窗口中通过键盘输入以上源程序。

并保存为文件abc.asm.后返回到DOS提示符下。

2.将源程序文件汇编成目标程序文件:汇编功能可以使用Microsoft的MASM进行,微软的汇编程序有多个版本,但使用方法大致相同,本实验将使用MASM 5.0进行汇编。

《汇编语言》实验指导书.

《汇编语言》实验指导书.

《汇编语言》实验指导书目录实验一Debug命令的使用 (3)实验二基本汇编指令的使用 (7)实验三汇编语言程序的调试与运行 (10)实验四系统功能调用程序的调试与运行 (15)实验五分支程序设计 (17)实验六循环程序设计 (20)实验七子程序设计 (23)实验八高级汇编语言程序设计 (25)实验九I/O程序设计 (30)实验十中断程序设计 (33)实验十一综合程序设计 (38)实验一Debug命令的使用一、知识点1、DEBUG简介DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。

在汇编语言程序调试中很常用。

DEBUG的提示符是“-”,所有DEBUG调试命令均在此提示符下输入。

DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。

DEBUG命令的使用注意问题:(1)字母不分大小写(2)只使用十六进制数,但没有带后缀字母“H”(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。

(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。

2、Debug的调入和退出以WIN2000环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态:C:\Documents and Settings\lfy>然后输入命令:>Debug进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。

退出Debug的命令:Q3、Debug常用命令(1)汇编命令A,格式为:- A [地址]功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。

若不指定地址,则系统从默认的地址开始存放。

按回车键退出汇编状态应用:用于调试一条指令或几条指令组成的一个程序段。

(2)显示和修改寄存器命令R,格式为:- R [寄存器名]功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。

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

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

实验一简单程序编制和上机过程一.实验目的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.掌握计算机常用代码的软件转换技术。

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

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

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

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

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

第2章汇编语言程序设计实验2.1、实验1-1——多字节数的运算1、实验目的熟悉汇编语言的上机环境和各种工具(编辑、汇编、连接、调试);掌握完整段和简化段两种汇编程序的编写;掌握简单汇编程序的处理和调试过程。

2、实验内容⑴、两个长度为3个字节(3B)的二进制无符号数,分别存放在首地址为buf1和buf2的连续内存单元中,编程求这两者之和,并将结果放在起始地址为res的内存单元中。

例如,这两个数据为888888H、456789H,则其和应为[1]345671H。

(00CDF011H,对应十进制数表示13496337,)要求:☞用完整段和简化段两种方式实现。

☞观察它们的反汇编结果并进行比较,单步运行程序。

注意:☞程序运行前先将res清0,程序运行后观察res单元中的数据是否符合预期。

☞数据存放应“高对高、低对低”。

⑵、将两数改为3B的压缩BCD码,重复以上实验过程。

例如,这两个数据为888888H、456789H,则其和应为[1]345677H(表示[1]345677)。

☞注意,每两个字节相加后,应紧接着进行二-十进制调整。

3、实验扩展和思考⑴、计算两个长度为3B的二进制数据之差应如何进行操作?⑵、计算两个长度为3B的压缩BCD码数据之差应如何进行操作?================================================================================实验报告================================================================================●方案描述●程序清单2.2、实验1-2——BCD码操作(参考课本P72,例3.5)(如果要求转换为ASCII 码显示出来呢?)1、实验目的掌握BCD码的操作,包括压缩BCD码的分离和非压缩BCD码的压缩等。

2、实验内容⑴、将存放在首地址为buf的5B的压缩BCD码分离为10B的非压缩BCD码,并存于首地址为res的单元中。

汇编语言指导书

汇编语言指导书

实验内容及步骤 一、利用查表方法把DX的内容(十六进制数)转换成ASCII码 1、用A命令键入下列程序: MOV BX,1000 MOV DI,2000 MOV CX,4 LOP: PUSH CX MOV CL,4 ROL DX,CL POP CX MOV AL,DL AND AL,0F XLAT CLD STOSB LOOP LOP INT 20 2、用A命令在1000H处键入下列ASCII码并用D命令检查之: DB …0123456789ABCDEF? 用D命令检查时注意左边的ASCII码值和右边的字符。 4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)。 5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。可注意屏幕右边的ASCII字符与DX是否一致。 二、数据串搬家程序: 1、用A命令键入下列程序: MOV SI,1000 MOV DI,1500 MOV CX,0F LOP: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP LOP INT 20 2、用A命令DB伪指令在1000H键入下列字符串: ‘IBM_PC COMPUTER'
在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用 1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是 什么字符的ASCII码? 6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、熟悉汇编语言的编程过程 1、首先在运行菜单中运行CMD命令,进入DOS状态。 2、切入D:盘,进入MASM。 3、用EDIT <文件名.asm> 命令编辑下列源程序。 data segment message db "Hello World!",'$' data ends code segment assume cs:code,ds:data begin:mov ax,data mov ds,ax mov dx,offset message mov ah,9 int 21h mov ah,4ch int 21h code ends end begin 4、用MASM <文件名> 命令编译源程序。(如果出错,则需要重新编 辑,修改错误)。 5、用LINK <文件名>命令连接目标文件,生成可执行文件。(可以用 DIR命令查一下—)。 6、运行该可执行文件,检查是否正常输出字符串。 实验报告要求

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

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

8086汇编语言程序设计实验指导书计算机科学与技术学院计算机科学与技术系二〇一一年九月目录第一部分实验方法 ............................................................................. - 1 -1.1 实验目的与要求 ...................................................................... - 1 -1.2 实验方法 .................................................................................. - 2 - 第二部分实验内容 ............................................................................. - 7 - 实验1 简单汇编语言程序设计 .................................................. - 7 - 实验2 分支循环及程序设计 ...................................................... - 8 - 实验3 子程序程序设计 .............................................................. - 9 - 实验4 综合程序设计 ................................................................ - 10 - 附录.................................................................................................. - 11 - 附录1 常用DOS命令 ................................................................ - 11 - 附录2 DEBUG主要命令............................................................. - 13 - 附录3 汇编程序出错信息 .......................................................... - 16 - 附录4 常用字符ASCII码值...................................................... - 20 - 附录5 8088/8086指令系统 ...................................................... - 21 - 附录6 IBM PC/A T中断功能表................................................ - 25 - 附录7 常用DOS功能调用(INT 21H).................................. - 27 - 附录8 BIOS功能调用 ................................................................. - 30 -第一部分实验方法1.1 实验目的与要求一、实验目的学习汇编语言程序设计的基本方法和技能,进一步加深对8086汇编语言程序设计的理解,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程——接口技术打下坚实的程序设计基础。

简化:《汇编语言程序设计》实验指导书-定稿

简化:《汇编语言程序设计》实验指导书-定稿

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 简化:《汇编语言程序设计》实验指导书-定稿《汇编语言程序设计》实验指导书(第一版)邵桂芳黄贤英刘政肖朝晖编重庆工学院计算机学院 2006 年年10 月目录有关汇编语言 ........................................................ ........................................................... .. 3 实验一汇编语言上机操作过程(验证性实验) ...................................................... ..... 4 实验二DEBUG 的使用(验证性实验) ...................................................... ................ 12 实验三基本运算程序设计(设计性实验) ...................................................... ........... 22 实验四顺序程序设计(设计性实验) ............................................ 错误! 未定义书签。

实验五字符处理程序设计(设计性实验) .................................... 错误! 未定义书签。

实验六分支程序设计(设计性实验) ............................................ 错误! 未定义书签。

实验七循环程序设计(设计性实1 / 3验) ............................................ 错误! 未定义书签。

2050101汇编语言实验指导书(学生用)

2050101汇编语言实验指导书(学生用)

2050101汇编语⾔实验指导书(学⽣⽤)计算机科学与⼯程学院⽬录⼀、说明 (1)(⼀)实验教学⽬的 (1)(⼆)实验类型、基本要求 (1)(三)实验课时安排 (1)⼆、实验环境 (2)(⼀)硬件环境 (2)(⼆)软件环境 (2)三、上机实验步骤 (3)(⼀)确定源程序的存放⽬录 (3)(⼆)建⽴.ASM源程序 (3)(三)⽤MASM.EXE汇编源程序产⽣.OBJ⽬标⽂件 (3)(四)⽤LINK.EXE产⽣EXE可执⾏⽂件 (5)(五)执⾏程序 (5)(六)DEBUG的启动及其基本命令的使⽤ (6)四、实验项⽬ (8)(⼀)实验⽬的及要求 (8)(⼆)实验内容 (8)(三)实验准备 (8)(⼀)实验⽬的及要求 (9)(⼆)实验内容 (9)(三)实验准备 (9)(⼀)实验⽬的及要求 (9)(⼆)实验内容 (9)(三)实验准备 (10)(⼀)实验⽬的及要求 (10)(⼆)实验内容 (10)(三)实验准备 (10)(⼀)实验⽬的及要求 (10)(⼆)实验内容 (11)(三)实验准备 (11)(⼀)实验教学⽬的汇编语⾔课程为计算机科学与技术、软件⼯程、⽹络⼯程专业的必修课程,主要讲述80x86微机的体系结构和汇编语⾔程序设计⽅法。

为配合这门课程的正常教学,取得良好的教学效果,培养学⽣实际的动⼿能⼒,特设置相应实验。

汇编语⾔实验主要使学⽣掌握DEBUG调试程序中各命令的使⽤⽅法,掌握MASM汇编程序对汇编语⾔源程序进⾏编辑、汇编、连接、装配、调试到运⾏的上机操作⽅法。

本实验⼤纲要求学⽣熟练掌握汇编语⾔指令练习、顺序程序设计、分⽀程序设计、循环程序设计和⼦程序设计,掌握DOS、BIOS 功能调⽤⽅法等。

(⼆)实验类型、基本要求本实验为程序设计类,要求学⽣了解计算机的基本系统结构,了解、掌握汇编语⾔程序的基本设计⽅法。

每⼈⼀台微机,独⽴编程、录⼊、调试、运⾏。

(三)实验课时安排⼆、实验环境汇编语⾔程序设计的实验环境如下:(⼀)硬件环境微型计算机(Intel x86系列CPU)⼀台(⼆)软件环境Windows98/2000/XP操作系统;任意⼀种⽂本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等);汇编程序(MASM.EXE或TASM.EXE);连接程序(LINK.EXE或TLINK.EXE);调试程序(DEBUG.EXE或TD.EXE);⽂本编辑器建议使⽤EDIT或NOTEPAD,汇编程序建议使⽤MASM.EXE,连接程序建议使⽤LINK.EXE,调试程序建议使⽤DEBUG.EXE。

汇编语言实验指导书

汇编语言实验指导书

实验 1 DEBUG的使用一、实验目的1.通过实验了解和熟悉微机系统的配置。

2.学习在DEBUG状态下输入汇编源程序的方法。

3.初步掌握调试(在DEBUG状态下)的过程。

二、实验任务1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。

用单步跟踪的方法验证指令的功能。

2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。

三、实验仪器微机一台.四、实验步骤1. 用DEBUG的Register命令检查所有寄存器内容,并作记录。

命令格式:R [寄存器名]该命令的功能是显示寄存器的内容,或修改某一指定寄存器内容,若[寄存器名]缺省,则显示所有寄存器内容。

例如:-R2. 用DEBUG的Assemble命令输入汇编源程序。

格式:A [内存地址]注:用“[ ]”符号括起来的部分表示可以省略。

该命令的功能是从指定的内存地址开始(括号不要输入)逐条输入汇编语言源程序并汇编成机器码存入内存。

若地址缺省,则接上一个A命令最后一条指令之后输入汇编语句,若没有用过A命令,则从CS:0100H地址开始输入。

例如:-A0CD3:0100-在输入A命令之后,或每输入一条指令之后,显示器的左端给出了内存的段地址和偏移地址。

每条指令均用回车(↙)结束。

若输入的指令有语法错误,DEBUG拒绝接收,并给出提示,此时可以重新输入。

程序的最后一条指令输入完之后,再按一次回车键(↙),即可结束汇编命令,回到DEBUG提示符“-”状态。

3. 用DEBUG的Unassemble命令反汇编。

命令格式:U [起始地址[终止地址]]该命令的功能是从起始地址到终止地址反汇编目标码,缺省值是接上一个U命令或从CS:0100H地址开始。

例如:-U显示器上将显示程序的内存地址、指令机器码的汇编源程序三列对照清单。

4. 用DEBUG的Trace命令单步跟踪程序。

命令格式:T [ =起始地址] [指令条数]该命令的功能是从指定的起始地址开始逐条执行指令,每执行完一条指令,屏幕显示所有寄存器内容和下一条指令地址和指令。

汇编语言实验指导书

汇编语言实验指导书

实验一实验名称:DEBUG练习和简单程序设计实验目的:通过对调试程序DEBUG的使用和简单汇编源程序的设计的训练,掌握汇编语言设计、编写和运行程序的方法,为后续试验打下基础。

实验内容:(注:操作验证性实验需写出实验步骤及每步的实验结果,并对实验结果进行必要的分析;设计性实验需包含:软硬件平台、流程图、源程序、调试步骤、运行结果等,源程序应加必要的注释。

)(一)DEBUG练习:学习DEBUG的主要用法1、进入DEBUG;2、用DEBUG的R命令查看、改变CPU寄存器的内容;1)用R命令查看各寄存器的内容并纪录;2)用R命令修改寄存器BX、SI、BP的值。

3、用DEBUG的D命令查看内存中的内容(以下内容分别使用不同的D命令);1)用D命令查看从1000:0开始的128个内存单元的内容并纪录;2)用D命令查看从2000:8开始的128个内存单元的内容并纪录;3)用D命令查看从3000:0开始的10个内存单元的内容并纪录;4、用DEBUG的E命令改写内存中的内容;用E命令将内存1000:0—1000:9单元中的内容改写为0、1、2、3、4、5、6、7、8、9,并进行验证。

5、用DEBUG的U命令将内存中的机器指令翻译成汇编指令;用E命令从1000:0单元开始写入如下机器码,然后用U命令将内存中的机器指令翻译成汇编指令,并分析实验结果各部分的含义。

机器码对应的汇编指令b80100b9020001c86、用DEBUG的T命令执行机器指令;用T命令单步执行上题程序段的每条指令并纪录结果。

7、用DEBUG的A命令以汇编指令的格式在内存中写入一条机器指令。

用A命令将下面的程序段写入内存,用U命令翻译成机器指令,逐条执行,观察每条指令执行后,CPU中相关寄存器中内容的变化。

MOV AX,4E20HADD AX,1416HMOV BX,2000HADD AX,BXMOV BX,AXADD AX,BXMOV AX,001AHMOV BX,0026HADD AL,BLADD AH,BLADD BH,ALMOV AH,0ADD AL,BLADD AL,9CH(二)简单程序设计1、按要求编写汇编源程序,练习源程序的上机过程,并练习用DEBUG调试程序。

汇编语言程序设计实验指导书、实验教学大纲

汇编语言程序设计实验指导书、实验教学大纲

附件1-3《汇编语言程序设计课程》实验教学指导书课程编号:撰写人:刘伏贵审核人:湘潭大学信息工程学院二○○七年十月十八日前言一、实验总体目标《汇编语言程序设计》是一门重要的专业选修课,同时也是一门实践性很强的课程。

通过实验使学生对所学的汇编语言程序设计内容加深理解,增强实践动手能力,培养学生分析问题和解决问题的能力,以及进行汇编语言程序设计的实践。

在汇编语言程序设计课程的学习过程中,将分别开出《汇编程序与调试器的使用》、《DOS 命令与磁盘文件操作》、《汇编语言与结构化程序设计》、《汇编语言子程序设计》、《十进制数据直接处理程序设计》、《结构数据与汇编语言程序设计》、《记录数据与汇编语言程序设计》、《汇编语言程序设计综合实验》等八个实验。

由于汇编语言程序设计涉及到硬件、操作系统等诸方面的知识,完成实验的难度大。

因此,要求每一个学生必须按照教师的安排和要求,认真完成每一个实验,从而达到培养现代程序设计基本素养的目的。

二、适用专业年级专业:计算机科学与技术、网络工程年级:二年级三、先修课程《C语言程序设计》、《计算机组成原理》四、实验项目及课时分配五、实验环境个人计算机:120台Win 32 操作系统MS DOSMASM 6.0 及其以上版本的汇编程序及配套的80x86 汇编语言程序开发环境六、实验总体要求1、汇编语言程序设计的实验课主要是供学生测试、调试汇编语言程序。

2、必须充分重视实验课。

实验课是汇编语言程序设计课程的重要组成部分,是理论联系实践的重要环节。

通过它,能够培养学生独立分析和解决问题的能力。

3、在每个实验之前,学生必须准备好被测程序的有关设计资料(包括程序的基本设计说明、程序流程图、汇编语言程序清单等)、测试数据、测试驱动程序、测试需要的“桩模块”等。

4、必须做好实验前的一切准备工作,包括程序测试/调试的详细过程安排等。

在实验中应严格按照预先确定的实验过程进行实验,决不允许在实验过程中准备实验程序、测试数据与测试/调试过程计划。

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

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

《汇编语言程序设计》课程实验指导书(Assembly Language Programming)计算机科学与技术系杨定安编写佛山科学技术学院摘要汇编语言实验主要使学生掌握DEBUG或DEB2000调试程序中各命令的使用方法,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方法。

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

目录实验一宏汇编程序(MASM)及汇编语言上机过程 (3)实验二程序的基本结构练习 (8)实验三汇编编译器的使用及程序调试 (11)实验四分支程序设计 (17)实验五循环程序设计 (19)实验六子程序设计 (23)实验七汇编语言与C语言混合程序设计 (29)实验一宏汇编程序(MASM)及汇编语言上机过程一、实验目的1.通过实验了解和熟悉微机系统的配置。

2.学习在DEBUG状态下输入汇编源程序的方法。

3.初步掌握调试(在DEBUG状态下)的过程。

二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。

用单步跟踪的方法验证指令的功能。

2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。

注:⑴微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”;⑵在DEBUG状态下执行程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示符状态,并且恢复CS和IP寄存器原来的值。

三、实验仪器微机一台,U盘一块。

四、实验步骤1.开机和关机操作顺序开机:先打开微机外部设备电源开关,如显示器,最后打开主机电源开关。

关机:与开机相反,先关掉主机电源开关,然后关闭所有外设的电源开关。

2. 装入DEBUG程序若计算机系统启动正常,可以进入MASM文件夹或MASM5文件夹从磁盘上调用DEBUG,程序到内存。

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

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

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范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:01000108或–U04BA:0100 L9此二命令是等效的。

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

]]其中地址1规定了运行起始地址,后面的若干地址均为断点地址。

(4追踪命令T,有两种格式:1逐条指令追踪:-T[=地址]该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。

2多条指令追踪:-T[=地址][值]该命令从指定地址起执行n条命令后停下来,n由[值]确定。

(5显示内存单元内容的命令D,格式为:-D[地址]或-D[范围](6修改内存单元内容的命令E,它有两种格式:1用给定的内容代替指定范围的单元内容:-E地址内容表例如:-E2000:0100F3“XYZ” 8D其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100 到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。

2逐个单元相继地修改:-E地址例如:-E100:18E4:010089.78此命令是将原100号单元的内容89改为78。

78是程序员键入的。

(7检查和修改寄存器内容的命令R,它有三种方式:1显示CPU内部所有寄存器内容和标志位状态;格式为:-R2显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如打入:-R AX系统将响应如下: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命令把文件装入内存进行调试或者存盘。

(9装入命令L,它有两种功能:1把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址驱动器扇区号扇区数2装入指定文件,格式为:-L [地址]此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。

在用L命令前,BX和CX中应包含所读文件的字节数。

(10写命令W,有两种格式:1把数据写入磁盘的指定扇区:-W 地址驱动器扇区号扇区数2把数据写入指定文件中:-W [地址]此命令把指定内存区域中的数据写入由CS:5CH处的F CB所规定的文件中。

在用W命令前,BX和CX中应包含要写入文件的字节数。

(11退出DEBUG命令Q,该命令格式为Q它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。

三.实验要求:用汇编语言编写一个计算“3+5”的加法程序四.实验报告:写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验二内存操作数及寻址方法一.实验目的:1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。

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

3、掌握简单指令的执行过程。

二.实验内容:1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H;请用D EBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT三.实验要求:1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。

四.实验报告:1、程序说明。

说明程序的功能、结构。

2、调试说明。

包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验三汇编语言程序的调试与运行一.实验目的1.学习数据传送和算术运算指令的用法2.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

二.实验内容将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在DA TA1和DA TA2为首的5个内存单元中,结果送回DA TA1处。

三.程序框图图3.1 两个多位十进制相加程序流程图四.调试步骤1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.DEBUG调试可执行程序,记录数据段的内容。

5.在操作系统状态下,运行程序,并记录屏幕显示内容。

五.思考题1.将上述程序改为5位数相加,结果为6位数的加法程序。

(需考虑进位2.简单叙述上机步骤,调试方法。

实验四查表程序设计一.实验目的:1、熟练掌握编写汇编语言原程序的基本方法和基本框架。

2、掌握查表法和查表指令XLAT。

3、熟练使用DEBUG调试程序。

二.实验内容:用查表的方法将一位十六进制数转换成与它相应的ASCII码,并将结果存放到A SCI单元中。

三.编程提示:既然指定用查表的方法,那么首先要建立一个表TABLE。

我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII码值。

DA TA SEGMENTTABLE DB30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB X ;X为待转换的十六进制数ASCI DB ?;存放转换后的ASCII码DA TA ENDS四.实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等五.实验报告:1、程序说明。

说明程序的功能、结构。

2、调试说明。

包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验五系统功能调用一.实验目的:1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。

2、掌握DOS功能调用的编程方法。

二.实验内容:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

三.编程提示:利用DOS功能调用INT21H的1号功能从键盘输入字符和2号功能在显示器上显示一个字符。

四.实验要求:实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

五.实验报告:1、程序说明。

说明程序的功能、结构。

2、调试说明。

包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验六分支程序设计一.实验目的: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”。

4、程序中存在一个循环结构,循环6次,调用6次分支结构后结束。

五.思考题:程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序观察并分析。

六.实验报告:1、程序说明。

说明程序的功能、结构。

2、调试说明。

包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、画出程序框图。

4、写出源程序清单和执行结果。

5、回答思考题。

实验七循环程序设计一.实验目的1.掌握循环程序设计的方法(两重性循环结构2.掌握正确分配与使用寄存器。

二.实验内容与要求以GRADE为首地址的10个字的数组中保存有学生成绩。

相关文档
最新文档