当前位置:首页 > 汇编语言上机实验指导
汇编语言上机实验指导书
实验要求:
1、 上机前作好充分准备,包括程序框图、调试步骤、测试方法、对运行结果的
分析等。
2、 上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验相关的系统
软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识地学习及掌握DEBUG程序的各种操作命令,以便掌握程序的调试方法及技巧。
3、 为了更好地进行上机管理,要求用硬盘(注:F盘下)存储程序,以避免文
件丢失,实验结束后将程序上传到ftp://10.10.77.77,“!教学专区”文件夹下的“xuben”文件夹下“微机接口技术”文件夹中相应目录下。此外,要求实验者按以下形式命名实验文件:
学号+字母(a/b/c?).扩展名
比如:03光信2班章以敏编制的第2个程序,则命名为:031071203205b.asm
4、 程序调试完后,须由实验辅导教师在机器上检查运行结果。 5、 每个实验完成后,应写出实验报告。
实验报告:
实验报告的要求如下:
① 基本信息。
包括:课程名称、实验名称、专业、班级、姓名、实验时间。 ② 实验报告编写要规范。
应包括:实验名称、目的、内容、原理、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。
③ 实验报告应附有实验原始记录和源程序清单。
加强实践能力的培养
实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等;开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或本分改变程序加以实现。
实验一 利用DEBUG调试程序调试程序段(选做)
1. 实验目的:
(1) 熟悉DEBUG有关命令的使用方法 (2) 利用DEBUG掌握有关指令的功能 (3) 利用DEBUG运行简单的程序段 2. 实验内容
(1) 进入和退出DEBUG程序
(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对
于U命令、N命令、W命令等,也应试一下。
(3) 利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指
令、串操作指令的功能。
3. 实验准备
(1) 仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。
(2) 作为例子,准备用A命令,输入在显示器上显示字符“S”的系统调用程序段。 (3) 阅读将AX左移9位的程序段。 4. 实验步骤
(1) 在DOS提示符下,进入DEBUG程序。 (2) 在DOS目录下启动DEBUG。
(3) 详细记录每一步所用的命令,以及查看结果的方法和具体结果。 5. 实验报告要求
(1) 如何启动和退出DEBUG程序。
(2) 整理每个DEBUG命令使用的方法,实际示例及执行结果。
(3) 启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?
实验二 分支程序实验(必做)
1. 实验目的:
(1) 掌握分支程序的设计方法
(2) 掌握利用DEBUG修改参数、检查结果的方法。
(3) 掌握汇编语言源程序的编辑、汇编、连接及调试过程。 2. 实验内容
(1) 编写一个程序,显示AL寄存器中的两位十六进制数
(2) 编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z
或a-z字符,均显示“c”;若是回车字符
3. 实验准备
(1) 编写实验内容要求的两个程序。
(2) 写出调试以上程序,即修改程序参数,检查结果的操作方法。 (3) 熟悉源程序汇编、连接命令的使用方法即要回答的内容。 4. 实验步骤
(1) 用EDIT或其它编辑软件,编写.ASM源程序,例如HEXASC.ASM及DSPKEY.ASM。 (2) 对其进行汇编及连接,产生.EXE文件。 (3) 对.EXE文件进行调试运行。
a. 用DEBUG调试运行,学会修改AL内容的方法。 b. 对DSPKEY.EXE键入不同的字符,分别进行调试。 c. 在MS-DOS下运行这两个.EXE文件。
5. 实验报告要求
画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。 6. 参考程序清单
(1) 显示AL中两位十六进制数程序: ;DISPHEX.ASM CODE SEGMENT
ASSUME CS:CODE START: MOV AL,3EH MOV BL,AL MOV DL,AL MOV CL,4 SHR DL,CL
CMP DL,9 JBE NEXT1 ADD DL,7 NEXT1: ADD DL,30H MOV AH,2
INT 21H ;显示高位ASCII码 MOV DL,BL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7 NEXT2: ADD DL,30H MOV AH,2
CODE ENDS ; END START
(2) 显示键入字符程序 ;DISPKEY.ASM CODE SEGEMENT
ASSUME CS:CODE START: MOV AH,1
INT 21H ; CMP AL,0DH ; JZ DONE ; CMP AL,’0’ JB NEXT
CMP AL,’9’ JA CHARUP MOV DL,AL MOV AH,2 INT 21H JMP START CHARUP: CMP AL,41H JB NEXT CMP AL,5AH JA CHRDN
DISPC: MOV DL,’C’ MOV AH,2 INT 21H NEXT: JMP START CHRDN: CMP AL,61H
显示低位ASCII码 返回DOS 等待键入字符,送AL 是否是回车符?
是则转DONE退出程序 INT 21H ; MOV AH,4CH INT 21H
JB NEXT CMP AL,7AH JA NEXT JMP DISPC DONE: MOV AH,4CH INT 21H CODE: ENDS
END START
实验三 循环程序实验(必做)
1. 实验目的:
(1) 掌握循环程序的设计方法
(2) 进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。 (3) 学会针对不同的问题,选用不同的组织循环的方法。 2. 实验内容
(1) 编写一个程序,用二进制显示从键盘输入一个字符的ASCII码。
(2) 编写一个程序,记录某个字存储单元数据中1的个数,以十进制形式显示结果。 3. 实验准备
(1) 编写实验内容要求的两个程序。
(2) 写出调试以上程序,即修改程序参数,检查结果的操作方法。 (3) 熟悉源程序汇编、连接命令的使用方法即要回答的内容。 4. 实验步骤
(1) 用EDIT或其它编辑软件,编写.ASM源程序,例如Binary.ASM及Statistic.ASM。 (2) 对其进行汇编及连接,产生.EXE文件。 (3) 对.EXE文件进行调试运行。
a. 用DEBUG调试运行,学会修改AL内容的方法。 b. 对DSPKEY.EXE键入不同的字符,分别进行调试。 c. 在MS-DOS下运行这两个.EXE文件。
5. 实验报告要求
画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。 6. 参考程序段清单: ;Binary.asm
mov cx,8 ;CX←8(循环次数)
again: shl bl,1 ;左移进CF,从高位开始显示 mov dl,0 ;MOV指令不改变CF adc dl,30h ;DL←0+30H+CF ;CF若是0,则DL←' 0 ' ;CF若是1,则DL←' 1 ' mov ah,2
int 21h ;显示 loop again
;CX减1,如果CX未减至0,则循环
共分享92篇相关文档