汇编语言上机实验指导书(不含源代码)

合集下载

汇编语言实验指导书

汇编语言实验指导书

目录第一部分汇编语言程序的上机过程 (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)第四部分汇编语言实验参考代码 (11)实验一输出字符串 (11)实验二算术指令综合编程 (11)实验三查找子字符串 (12)实验四字符串正向、反向输出 (13)实验五信息检索 (14)实验六格式化输出 (17)实验七数组合并 (18)实验八字符统计 (20)实验九数制转换 (22)第一部分汇编语言程序的上机过程一、建立汇编语言的工作环境为运行汇编语言程序至少要在磁盘上建立以下文件: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。

汇编语言实验指导书(第1组)

汇编语言实验指导书(第1组)

实验一、Debug调试实验指导书一、实验目的1.进一步学习汇编语言基本指令使用方法;2.学习DEBUG调试工具的基本使用方法;掌握debug调试命令a、u、r、d、t、g等3.逐条观察程序指令的执行过程,理解指令的功能,理解程序自动、顺序地执行的概念,实践其过程(重点)。

二、实验题目1.编写、输入一个32位二进制数相加程序,逐条执行指令,观察指令执行情况。

2.使用已经过汇编和连接的小程序(t3-2.exe),将其装入内存,逐条执行指令,观察执行过程和结果。

在实验过程中,使用D命令修改XXX和YYY单元中的数据,再重新计算其结果。

三、编程提示1.启动计算机的WINDOWS操作系统,运行DEBUG程序。

2.方法1:在开始菜单中找到“运行”,输入“cmd”后回车,启动ms-dos command程序,再在该程序内输入“DEBUG”并按回车,即启动DEBUG调试程序。

3.方法2:在开始菜单中找到“运行”,输入“DEBUG”后确定,即启动DEBUG调试程序。

4.开始编程方法1:在debug中输入a命令,并回车。

显示出的地址是当前指令代码所存放的地址。

接着,逐条有序地输入汇编指令,直接回车即可结束程序指令的输入过程。

如需修改程序,则先确定错误指令的地址,再使用“a 地址号”命令修改。

注意,修改前后指令长度如发生改变,会对该指令以后的指令码的存储造成影响,使程序不能正确执行。

(为什么?)方法2:将事先已经准备好的可执行程序(.exe文件)装入存储器,使用如下命令:debug 文件名.exe。

(.exe必须写全,否则找不到程序文件,为什么?)5.程序调试过程(1)使用u命令将程序反汇编,观察其汇编指令的与源程序的对应关系,观察每一条指令的代码、存放地址、指令代码长度等;(重要)(2)使用r命令读出各寄存器中的数值,从CS:IP寄存器中的数值确定程序当前应执行的指令;(结合计算机硬件知识加以理解)(3)察看当前指令的长度、指令代码、指令功能、操作数的寻址方式、所涉及的寄存器和存储器中的数值;(4)使用d命令读出所关注的存储器中的数值,并计算其地址顺序;(5)使用t命令执行单条指令,察看指令执行后相关存储器和存储器中的数值变化情况,察看标志位寄存器的变化情况,判断指令执行后的计算结果是否正确?如遇到条件转移指令时要判断是否转移,转移或不转移时下一条指令的地址是什么?(重要)(6)使用e命令读出、修改存储器中的相关数据,可重新执行相关计算指令,再观察结果。

汇编语言实验指导书 (3)

汇编语言实验指导书 (3)

实验报告实验课程:汇编语言学生姓名:李斯超学号:6100409010专业班级:电三091班2010年12月20日目录实验1 利用DEBUG调试汇编语言程序段实验2 初级程序的编写与调试实验(一)实验3 初级程序的编写与调试实验(二)实验4 汇编语言程序上机过程实验5 分支程序实验实验6 循环程序实验实验7 子程序实验实验1 利用DEBUG调试汇编语言程序段一.实验目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。

二.实验内容1.进入和退出DEBUG程序;2.学会DEBUG中的1)D命令(显示内存数据D 段地址:偏移地址)例1:-D1002)E命令(修改指定内存)例1:-E100 41 42 43 44 48 47 46 45-D 100,L08结果:08F1:0100 41 42 43 44 48 47 46 45例2:-E 100:08F1:0100 76 42 :42是操作员键入此命令是将原100号内存内容76修改为42,用D命令可察看。

3)R命令(显示当前寄存器的内容)4)T命令(设置陷井,单步执行)5)A命令(将指令直接汇编成机器码输入到内存中。

)6)G命令等的使用(执行A命中输入的汇编指令)3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。

四.实验环境PC微机DOS操作系统或Windows 操作系统MASM.EXE,LINK.EXE,或宏汇编集成环境五.实验步骤1.在DOS提示符下,进入DEBUG程序;在运行中输入cmd命令调出DOS窗口,在其中输入debug命令进入程序。

2.详细记录每一步所用的命令,以及查看结果的方法和具体结果。

(1)在debug中输入D查看当前数据数据段的断地址:偏移地址中的内容。

如输入-d100,接着操作输入e命令,e命令可以修改指定的内存中的数据,如输入-e10041,42,43,44,48,47,46,45。

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

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

《汇编语言》实验指导书目录实验一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 健。

汇编语言程序 实验指导书

汇编语言程序 实验指导书

《汇编语言程序设计》实验指导书计算机系统结构团队编西南科技大学计算机科学与技术学院2011年3月实验指导书说明汇编语言程序设计是一门实践性很强的课程,只有通过上机实践才有可能掌握设计技术并使其达到较高的水平,因此编写了实验指导书,为汇编语言程序设计课程的实验教学服务。

实验指导书共分三部分,第一部分是实验的预备知识,介绍了汇编语言程序运行时所需要的一些应用程序;第二部分是对实验报告的要求。

第三部分是实验题目,分为验证型实验和设计型实验。

在具体的实验过程中可以根据学生情况进行选择。

目录:第一部分汇编语言程序设计实验基础知识概述 (4)1.1、汇编程序MASM.EXE (4)1.1.1 宏汇编程序的功能 (4)1.1.2 汇编程序的用法 (4)1.1.3 MASM出错信息 (5)1.1.4 连接程序LINK.EXE (6)1.2 DEBUG命令详解 (7)1.2.1 DEBUG的功能 (7)1.2.2 DEBUG的使用方法 (7)1.2.3 DEBUG命令功能说明 (8)第二部分实验要求 (36)2.1 实验要求 (36)2.2 实验报告要求 (36)2.3 加强实践能力的培养 (36)第三部分实验内容 (37)实验1 MASM、LINK指令的使用实验 (37)实验2 汇编命令(伪指令)实验...................................................... 错误!未定义书签。

实验3 顺序结构程序实验................................................................ 错误!未定义书签。

实验4 简单分支结构程序实验 (39)实验5 循环结构程序实验 (41)实验6 子程序实验 (43)实验7 DOS功能调用 (46)实验8 排序和检索程序实验 (47)实验9 字符串操作实验 (51)第四部分参考资料 (57)第一部分汇编语言程序设计实验基础知识概述1.1、汇编程序MASM.EXE经过编辑的程序所建立的汇编语言源程序,是不能直接在计算机上运行的。

汇编语言上机指导

汇编语言上机指导

汇编语言上机指导一、概述汇编语言是一种低级别的程序设计语言,它直接使用计算机的指令集架构来编写程序。

而在进行汇编语言的实际操作时,上机指导是必不可少的一环。

本文将为您提供一份汇编语言上机指导,以帮助您在实践中更好地掌握汇编语言的应用。

二、实验环境与所需工具在进行汇编语言的上机实验之前,您需要准备以下工具和环境:1. 计算机:一台能够运行汇编语言开发环境的计算机;2. 汇编语言开发环境:例如MASM、NASM等;3. 文本编辑器:用于编写汇编源代码的工具,例如Notepad++、Sublime Text等;4. 模拟器或调试器:用于模拟或调试汇编程序的工具,例如DOSBox、Emu8086等。

三、实验步骤1. 安装汇编语言开发环境:根据您选择的汇编语言开发环境,下载并安装相应的软件。

2. 创建汇编源代码文件:使用文本编辑器创建一个新的文本文件,并将其保存为.asm文件格式。

3. 编写汇编程序:根据实验要求或题目要求,使用汇编语言编写相应的程序代码。

在编写过程中,需要熟悉所选汇编语言的语法和指令集。

4. 保存源代码文件:在编写完成后,保存源代码文件,并注意文件的命名规范和格式要求。

5. 编译源代码:打开所选汇编语言开发环境,并将源代码文件导入到该环境中。

使用编译器将源代码文件转换为可执行文件。

6. 运行汇编程序:在模拟器或调试器中加载生成的可执行文件,并运行程序。

通过观察程序的运行结果,验证程序代码的正确性和准确性。

7. 调试程序:如果程序在执行过程中出现错误或异常,可以使用调试器来逐步调试程序,找出错误的原因,并进行修正。

8. 优化程序:经过测试和调试后,可以根据实验需求对程序进行优化或改进,提高程序的性能和效率。

9. 文档整理:在上机实验结束后,对实验过程、实验结果和实验心得进行文档整理。

将实验相关的代码、截图和注释整理成文档,并附上你的实验心得和体会。

四、注意事项1. 在编写汇编程序时,需要遵循所使用汇编语言的语法和规范,注意标识符的命名规则和字符集的使用限制。

汇编语言上机实验指导

汇编语言上机实验指导

汇编语言上机实验指导实验一汇编语言基本指令操作练习一、实验目的:1、掌握8086/8088基本指令的使用方法和功能。

2、初步了解汇编语言程序设计的基本结构和利用DEBUG调试程序的方法。

3、进一步熟悉汇编语言的上机过程。

二、上机实验指导:(一)利用DEBUG的A命令输入指令,做如下实验。

1、比较下面指令的区别:①MOVAX,2000H②MOVBX,[2000H]-D2*******;显示字存储单元DS:2000的内容3ADC:20005A58ZX-R;显示指令执行前AX,BX的内容AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0100NVUPEIPLNZNAPONC3ADC:0100858CFFF3TESTCX,[SI+F3FF]DS:F3FF=74C0-A;利用A命令输入汇编指令3ADC:0100MOVAX,20003ADC:0103MOVBX,[2000]3ADC:0107INT3;此中断为断点中断,使程序执行暂停3ADC:0108-G;不指定地址,从当前CS:IP处执行AX=2000BX=585ACX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0107NVUPEIPLNZNAPONC3ADC:0107CCINT3;指令执行后,AX=2000H,BX=585AH2、以寄存器BX作为地址指针,从BX所指的存储单元开始起,连续存放着两个无符号数(字操作数),编程求它们的和,并将结果存放在这两个数之后。

-RBX;显示BX寄存器中的内容(BX=0000h)BX0000:;回车-D0*******;显示DS:0000到DS:0005的内容(BX所指的三个字操作数),如BX不为0000H,自己修改范围。

汇编语言上机实验指导

汇编语言上机实验指导

实验一汇编语言上机基本步骤一、实验目的:熟悉汇编语言的上机过程,掌握各项工具软件的使用方法二、实验环境:1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验内容:1.前期准备:在开始进行汇编语言上机练习之前,建立并进入自己的工作子目录,准备好相关工具软件如MASM.EXE、LINK.EXE等,其后所有工作均在自己的子目录中进行,以避免因路径概念不清而导致的文件存取错误,以及对系统其它部分造成影响。

1)建立自己的工作子目录(例如MYTEST):C:\>MD MYTEST2)进入自己的工作子目录:C:\>CD MYTEST3)将所需工具软件从其它地方(如C:\MASM)拷贝进自己的工作子目录:C:\MYTEST>COPY C:\MASM\MASM.EXEC:\MYTEST>COPY C:\MASM\LINK.EXE2.编写源程序:原则上可以用任何文字处理软件(如EDIT、写字板、甚至WORD)编写源程序,但必须注意,源程序应为ASCII码文件(或称纯文本文件),扩展名一般为.ASM。

因此,建议使用DOS环境下的EDIT软件。

1)在DOS系统操作提示符下键入EDIT并回车,即可进入EDIT文本编辑环境。

如果没有进入,检查当前路径下是否存在EDIT.EXE文件,以及文件是否完整等。

2)从键盘输入下列程序(不必输入注释部分):CODE SEGMENT;定义一个CODE段ASSUME CS:CODE;定义CODE段为代码段START:;可执行语句起始处MOV AH,02H ;以下三条语句将显示字母aMOV DL,’a’INT 21HMOV AH,4CH ;以下二条语句将返回DOSINT 21HCODE ENDS;CODE段结束END START;整个程序结束该程序的功能是仅在CRT屏上显示一个字母a,完成功能的只有其中的三条语句,但其它部分则是一个完整的汇编语言源程序必不可少的部分。

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

汇编语言上机实验指导书一、概述上机实验总学时为14学时,其中综合性实验为2学时。

实验共有6项暂定为7次,每次2学时。

1.实验辅导的主要内容实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。

开始的实验介绍较细,后面的实验简要介绍。

2.实验的软硬件要求关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。

软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。

3.加强实践能力的培养实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。

其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等;开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。

对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。

实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性)1.实验目的:(1) 熟悉汇编语言运行环境和方法(2)了解如何使用汇编语言编制程序(3) 熟悉DEBUG有关命令的使用方法(4) 利用DEBUG掌握有关指令的功能(5) 利用DEBUG运行简单的程序段2.实验内容(1)学会输入、编辑汇编语言程序(2)学会对汇编语言程序进行汇编、连接和运行(3)进入和退出DEBUG程序(4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。

对于U命令、N命令、W命令等,也应试一下。

3.实验准备(1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。

(2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果的分析。

(3) 编写一个程序:比较2个字符串所含的字符是否相同。

若相同则显示’Match.’,否则显示’No match!’;(1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。

4.实验步骤(1)在DOS提示符下,进入MASM目录。

(2)在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。

①调用edit输入、编辑源程序并保存在指定的目录中;例:edit abc.asm②用汇编程序masm对源程序汇编产生目标文件obj。

例:masm abc不断修改错误,直至汇编通过为止。

③用连接程序link产生执行文件exe.例:link abc④执行程序可直接从DOS执行程序,即在DOS环境中,输入文件名即可。

(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。

5.实验报告要求(1)源程序清单。

(2) 如何启动和退出EDIT程序。

(3) 如何对源程序进行汇编及编辑。

(4)如何启动和退出DEBUG程序。

(5)整理每个DEBUG命令使用的方法,实际示例及执行结果。

(6)启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验二循环程序、分支程序程序设计实验(4学时、验证性)1.实验目的:(1)掌握循环、分支程序的设计方法(2)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。

(3)学会针对不同的问题,选用不同的组织循环的方法。

2.实验内容(1)编写一个程序S21,将内存中一组有符号的字数组按递增的序列排序,并将其中的二进制数以十六进制的形式显示在屏幕上。

(2)编写一个程序S22,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。

3.实验准备(1)编写实验内容要求的两个程序。

(2)写出调试以上程序,即修改程序参数,检查结果的操作方法。

(3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。

4.实验步骤(1)用EDIT或其它编辑软件,编写.ASM源程序,例如S21.ASM及S22.ASM。

(2)对其进行汇编及连接,产生.EXE文件。

(3)对.EXE文件进行调试运行。

a.用DEBUG调试运行,学会修改AL内容的方法。

b.对DSPKEY.EXE键入不同的字符,分别进行调试。

c.在MS-DOS下运行这两个.EXE文件。

5.实验报告要求(1)画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。

(2)说明本实验是如何利用DEBUG进行调试的。

实验三子程序设计(2学时、验证性)实验3.1、本实验的目的在于让同学们掌握同一模块调用的方法。

1.实验目的(1)掌握主程序与子程序之间的调用关系及调用方法。

(2)掌握子程序调用过程中近程调用与远程调用的区别。

(3)掌握通过堆栈转送参数的方法。

2.实验内容(1)编写程序S31,将BUF开始的10个单元中的二进制数转换成两位十六进制数的ASCII码,在屏幕上显示出来。

要求码型转换通过子程序HEXASC实现,在转换过程中,通过子程序DISP实现显示.(2)编写一个主程序S32,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符’b’的个数.子程序的参数是字符串的首地址TABLE,字符串长度N及字符”b”.子程序返回字符"b”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符”b”及其个数(设为一位十六进制数)。

3.实验说明(1)第一个实验程序用子程序的近程调用实现。

由于在调用HEXASC子程序时,子程序又调用了DISP子程序,这叫子程序的嵌套调用。

实验过程中可以从堆栈的内容看到两个子程序的返回地址值。

由于是近调用,地址值只包括返回地址的段内偏移量。

在每个子程序的执行中,检查CS值是不变的。

(2)第二个程序是利用远调用的方法调用子程序的。

在远调用情况下,主程序与子程序处在不同的逻辑代码段中,可在子程序执行中查看CS值,它与主程序中的CS值是不同的。

子程序调用后,堆栈中保留了返回地址的段地址及段内偏移量。

(3)第二个程序中,主程序与子程序之间参数的传送是由堆栈实现的。

一段是将参数(此处是串首址TABLE,串的长度N及待统计的字符“b”)顺序压如堆栈,在子程序调用后,通过BP指针对堆栈中的参数访问,并将统计的结果通过堆栈返回。

有关该方法的原理此处不再介绍。

4.实验准备(1)预习子程序设计的基本方法,根据实验内容要求,画出子程序及主程序的流程图。

(2)熟悉键盘键入字符串及用堆栈传送参数的程序段编制方法。

5.实验步骤(1)编辑、汇编两个源程序,生成相应的可执行文件(。

EXE)(2)用DEBUG的R 命令,T 命令或G命令和D命令检查远程调用及近程调用时堆栈的变化。

特别是通过堆栈传送的参数和子程序取出的参数是返回参数的详细过程。

(3)检查程序执行的结果是否正确。

6.实验报告要求(1)分析远程调用与近程调用的区别,在用DEBUG有关命令观察时,执行过程有何不同。

(2)说明用堆栈传送参数的过程及其具体方法。

(3)分析实验结果及所遇到问题,并说明解决的方法。

实验3.2、本程序的目的在于使读者掌握模块间调用子程序的编写方法.1.实验目的(1) 了解多模块程序设计方法。

(2) 学会使用PUBLEC和EXTRN 伪指令解决模块间的符号(如变量名,标号等)通信问题。

2. 实验内容(1)编写一个子程序,将主程序设定的内存中字符串的小写字母转换成大写字母并显示出来.主程序S33用另一个模块编写。

(2)编写一个子程序,将主程序S34指定的字符所在的地址返回给主程序,字符串与主程序在同一个模块。

3.实验准备(1)仔细阅读教材中有关模块间通信的方法及模块程序设计的方法。

(2)弄清伪指令PUBLIC及EXTRN的功能及用法。

4.实验步骤(1)分别对实验1和实验2的主、子模块进行汇编,在连接时,将它们装配成一个以.EXE为扩展名的可执行文件.观察汇编及连接过程中有无错误.(2)对.EXE 文件进行调试及运行.(3)将实验1中的原字符串改为由键盘输入,然后由子模块将源串中的小写字母转换为大写字母,并将源串与转换后的两个字串分两行显示出来(设键入字串长度小于80个字符).5.实验报告要求(1) 画出相应的程序流程图。

(2)扼要总结多模块程序的特点和编写方法。

实验四输入/输出实验(综合性实验)1.实验目的(1) 掌握输入输出程序设计的概念和方法。

(2) 了解PC机外围芯片8255、8259的功能。

(3)学习如何在PC机上编写具有输入输出功能的程序,包括8255、8259芯片的使用方法。

2.实验说明本实验要求自行编写一个键盘输入处理程序,它可以完成键盘字符的读入并进行屏幕显示,本实验要利用IBM—PC系统的硬件结构,分别使用外围芯片8255及8259。

在本例中,利用8255A的A端做数据输入,对应的端口地址为60H;利用B端口作控制端输入,端口地址为61H。

8255A的控制端口地址为63H 。

本例的8259中断控制器,其IRQ1端用于键盘中断请求线。

键盘通过它可以响CPU发出中断请求。

8259的I/O端口地址为21H,可以写入中断屏蔽字,以对8个中断源是否容许中断进行控制。

在每次中断结束时,要通过I/O端口地址20H写回一个中断结束命令EOI ,使8259可以清除本次中断。

因此本实验既属于输入输出实验,也属于中断实验。

有关说明将详细地附在参考程序中。

3.实验内容利用pc机键盘,编写一个读入并显示键盘输入的演示程序。

该程序只接受常规字符(包括回车键及退格键),对特殊功能键不进行处理。

在程序中设置这些特殊功能键对应0编号即可,凡是检测到键位编号为0值时,均忽略对它们的处理。

有键按下时,送出的扫描码的D7位为0时,当键抬起时,扫描的码D7位为1,以判定键是否被按下。

4.实验准备(1) 预习输入输出程序设计的特点和方法。

(2) 仔细阅读参考程序,弄清外围芯片接口初始化的意义和方法。

5.实验步骤(1) 建立源文件,并通过汇编和连接,产生可执行文件。

(2) 运行程序,观察常规字符键及功能键按下时程序的反应,6.实验报告要求(1) 给出程序框图,包括主程序框图、中断处理程序框图。

(2)说明输入输出程序设计的特点。

(3)讨论:将SHIFT键及右SHIFT 键也进行判别处理,它们的扫描码为42及54。

为记录SHIFT键的按动状态,可设一个标志单元KBFLAG,右SHIFT按下,KBFLAG的D0位置1,左SHIFT按下,KBFLAG 的D1位置1,放下左右的SHIFT键,KBFLAG的相应恢复为0。

相关文档
最新文档