汇编语言实验报告-1~4.DOC
文本预览下载声明
实 验 报 告
实验课程: IBM-PC汇编语言程序设计
学生姓名:
学 号:
专业班级: 电气信息类III 103班
2011年12月16日
目 录
---(1)汇编语言程序上机过程 2
---(2)字符处理程序实验 7
---(3)子程序实验 11
---(4)中断程序设计 18
南昌大学实验报告
---(1)汇编语言程序上机过程
学生姓名: 学 号: 专业班级: 电Ⅲ103
实验类型:□验证 ■综合 □设计 □创新 实验日期: 10/21, 10/28 实验成绩:
实验目的
熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。
实验内容
掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用;
伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;
利用的INT 21H的1号功能实现键盘输入的方法;
实验环境
PC微机
DOS操作系统或 Windows 操作系统
MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境
实验要求
仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;
了解利用的INT 21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法;
阅读下面程序段。
主要实验步骤
程序:
data segment
message db This is a sample program of keyboard and disply
db 0dh,0ah,Please strike the key!,0dh,0ah,$
data ends
stack segment para stack stack
db 50 dup(?)
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
int 21h
again: mov ah,1
int 21h
cmp al,1bh
je exit
cmp al,61h
jc nd
cmp al,7ah
ja nd
and al
nd: mov dl,al
mov ah,2
int 21h
jmp again
exit: mov ah,4ch
int 21h
code ends
end start
实验步骤:
用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。
用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
用TYPE命令显示1产生的.LST文件。
用LINK将.OBJ文件连接成可执行的.EXE文件。
在DOS状态下运行LINK产生的.EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。
思考题
若在源程序中把INT 21H的H省去,会产生什么现象?
代码编译连接均为正常,但是运行时无法输入与输出,也无法退出。
把 INT 21H 4CH号功能改为 INT 20H,行不行?
更改后,编译链接均正常,输入输出也正常,但是按下ESC退出时会出现错误,错误如下:
参考资料
《IBM-PC汇编语言程序设计》
《汇编语言实验指导书》
南昌大学实验报告
---(2)字符处理程序实验
学生姓名: 学 号: 专业班级: 电Ⅲ103
实验类型:□验证 ■综合 □设计 □创新 实验日期: 11/04, 11/11 实验成绩:
一. 实验目的
1.熟悉串操作指令的功能与应用;
2.掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。
二.实验内容
1.字符串统计。自STRN开始的存储区中,有一个字符串,统计其中含有小写字母的个数,将统计结果以两位十进制数显示在屏幕上。
2.在给定的字符串中,删除重复的字符,其余的字符向前递补。
三. 实验要求
1.认真预习有关串操作的指令极其寻址方式的特点,能够正确使用串操作指令,并准备
显示全部