南昌大学汇编实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档