南昌大学汇编实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验课程:汇编语言
学生姓名:
学号:
专业班级:
2012年12 月7日
目录
(1)汇编语言上机过程 (1)
(2)串处理指令与子程序 (6)
(3)中断服务程序 (19)
(4)文件操作与字显示缓存 (24)
实验1 汇编语言程序上机过程I
------ 手工方式
一.实验目的
熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。
二.实验内容
1.掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用;
2.伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;
3.利用的INT 21H的1号功能实现键盘输入的方法;
三.实验要求
1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;
2.了解利用的INT 21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM 文件的区别及用INT 21H 4C号功能返回系统的方法;
3.阅读下面程序段。
四.实验环境
PC微机
DOS操作系统或 Windows 操作系统
MASM。EXE,LINK。EXE,DEBUG。COM
五.实验步骤
程序:
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,11011111b
nd:mov dl,al
mov ah,2
int 21h
jmp again
exit:mov ah,4ch
int 21h
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检查程序。
汇编语言程序上机过程II
-------集成环境
一.实验目的
熟悉汇编集成环境RADASM。
二.实验内容
熟练掌握RADASM编程环境,对照实验一,理解集成环境的优势。
三.实验要求
1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;
2.了解利用的INT 21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM 文件的区别及用INT 21H 4C号功能返回系统的方法;
3.阅读下面程序段。
四.实验环境
PC微机
DOS操作系统或 Windows 操作系统
汇编集成环境RADASM
五.实验步骤
(1).首先新建一个在DOS下的工程。
(2).建好后可以在其他磁盘打开ASM文件,或者是直接复制后粘贴在编译器中。
(3).通过编译器进行编译检错,没错就连接,构建,最后运行。
(4).若是没有输出正确的结果,可以在DOS调试器中运行,一步步检查程序的运行。知道结果输出正确。
程序:
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