大学课程汇编语言的实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验课程:
学生姓名:
学号:
专业班级:电气信息类III班
2011年12月20日
目录
(1)汇编语言程序上机过程 (2)
(2)字符串处理程序实验 (6)
(3)子程序实验 (13)
(4)中断程序实验 (21)
(5)C++调用汇编子程序 (25)
南昌大学实验报告
---(1)汇编语言程序上机过程学生姓名:学号:专业班级:
实验类型:□验证■综合□设计□创新实验日期:2011.11.12/13实验成绩:一、实验目的
熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。
二、实验内容
1.掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用;
2.伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;
3.利用的INT21H的1号功能实现键盘输入的方法;
三、实验环境
PC微机
DOS操作系统或Windows操作系统
MASM.EXE,LINK.EXE,或宏汇编集成环境
四、实验要求
1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;
2.了解利用的INT21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM文件的区别及用INT21H4C号功能返回系统的方法;
3.阅读下面程序段。
五、主要实验步骤
程序:
data segment
message db'This is a sample program of keyboard and disply'
db0dh,0ah,'Please strike the key!',0dh,0ah,'$'
data ends
stack segment para stack'stack'
db50dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:mov ax,data
mov ds,ax
mov dx,offset message
mov ah,9
int21h
again:mov ah,1
int21h
cmp al,1bh
je exit
cmp al,61h
jc nd
cmp al,7ah
ja nd
and al,11011111b
nd:mov dl,al
mov ah,2
int21h
jmp again
exit:mov ah,4ch
int21h
code ends
end start
实验步骤:
1.用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。
2.用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
3.用TYPE命令显示1产生的.LST文件。
4.用LINK将.OBJ文件连接成可执行的.EXE文件。
5.在DOS状态下运行LINK产生的.EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。
若未出现预期结果,用DEBUG检查程序。
六、思考题
1、若在源程序中把INT21H的'H'省去,会产生什么现象?
代码编译连接均为正常,但是运行时无法输入与输出,也无法退出。
2、把INT21H4CH号功能改为INT20H,行不行?
更改后,编译链接均正常,输入输出也正常,但是按下ESC退出时会出现错误,错误如下:
七、参考资料
《IBM-PC汇编语言程序设计》
《汇编语言实验指导书》
南昌大学实验报告
---(2)字符串处理实验学生姓名:学号:专业班级:
实验类型:□验证■综合□设计□创新实验日期:2011.11.20/21实验成绩:___
一.实验目的
1.熟悉串操作指令的功能与应用;
2.掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。
二.实验内容
1.字符串统计。自STRN开始的存储区中,有一个字符串,统计其中含有小写字母的个数,将统计结果以两位十进制数显示在屏幕上。
2.在给定的字符串中,删除重复的字符,其余的字符向前递补。
三.实验要求
1.认真预习有关串操作的指令极其寻址方式的特点,能够正确使用串操作指令,并准备好数据。
2.按正常的方法将删除字符程序编成子程序,规定子程序的入口和出口参数。
四.实验环境
PC微机
DOS操作系统或Windows操作系统
MASM.EXE,LINK.EXE,或宏汇编集成环境
五.实验步骤
1.用1号系统调用从键盘键入一个字符串,然后统计其中小写字母的个数。程序每次执行,都能得到不同的结果。
;COUNTDC.ASM
DATA SEGMENT
STRN DB80DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DI,STRN
MOV CL,0