汇编语言程序设计实验报告(一)
一、预备知识
汇编语言程序设计是一门实践性很强的课程。编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的
1、 掌握实验运行汇编语言所用的计算机机型
2、 熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑
的应用程序。)
3、 掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、 LINK连接程序
5、 DEBUG调试程序
三.实验要求
上机前准备好程序框图,源程序清单,调试步骤,测试方法,对结果的分析等。 程序调试完后由辅导老师鉴定试验结果是否符合实验要求。
四.汇编语言源程序上机操作过程
7、 编辑源文件
根据给定的任务,可编写程序。如果经过检查认为所编程序无错时,就可在计
算机上通过编辑程序建立源程序文件了。一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动A:。进入QE
A>\QE
进入全屏幕后可以开始编程。文件名取为sample.asm
;PROGRAM TITLE GOES HERE--Compare string
;***************************************************************************
datarea segment ;define data segment
string1 db 'Move the cursor backward.'
string2 db 'Move the cursor backward.'
;
mess1 db 'Match.',13,10,'$'
mess2 db 'No Match!',13,10,'$'
datarea ends
;***************************************************************************
prognam segment ;define code segment
;---------------------------------------------------------------------------
main proc far
assume cs:prognam,ds:datarea,es:datarea
start: ;starting execution address
;set up stack for return
push ds ;save old data segment
sub ax,ax ;put zero in AX
push ax ;save it on stack
;set DS register to current data segment
mov ax,datarea ;datarea segment addr
mov ds,ax ; into DS register
mov es,ax ; into ES register
;MAIN PART OF PROGRAM GOES HERE
lea si,string1
lea di,string2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:
lea dx,mess1
disp:
mov ah,09
int 21h
ret ;return to DOS
main endp ;end of main part of program
;---------------------------------------------------------------------------
prognam ends ;end of code segment
;***************************************************************************
end start ;end assembly
输入完毕后,按ALT---X,存盘返回DOS
8、 汇编源程序文件(ASM,MASM)
由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。需要经过
汇编程序的汇编,使其转为目标代码文件。它是通过调用宏汇编MASM(或汇编程序ASM)程序完成这一汇编操作的。汇编程序还将对源文件进行语法检查,如发现有错,将给出错误原因。程序设计者可根据它分析和修改源程序,并再经过汇编,直到无错时为止,此时得到的是一个目标文件(OBJ文件)。
A>\masm
Source filename [.ASM]:myfile
Object filename [myfile.OBJ]:
Source Listing [Nul.LIST]:
Cross—referedce [NUL.CRF]:
9、 连接目标文件(LINK)
目标文件为浮动的相对地址,是不可直接执行的。必须经过连接,把有关模块
连接在一起,构成统一的编址,从而为运行提供条件。在运行时,装填到内存中的具体位置由段地址来确定。连接过程是由LINK连接程序实现的,止时得到的是一个可可执行文件(EXE文件)。
A>\LINK
Object Modules [.OBJ]myfile
Run File[MYFILE.EXE]:
LIST FILE [NUL.MAP]:
Libraries[.LIB]:
10、 运行可执行文件
得到可执行文件后就可以直接调用可执行文件名,从盘上调到内存中运行。
三、实验总结
编写好一个程序后,要想在计算机中调试、运行,必须要有一个程序来支持程序的编辑、修改等操作。这种支援程序叫编辑程序。编辑程序有很多种,但按功能划分,主要有两大类。一类是行编辑程序,如EDIT编辑程序;另一类是全屏幕编辑程序如Quick Edit(QE)。行编辑程序功能较弱,不如全屏幕编辑程序方便、灵活。在编辑汇编语言的源程序时,可以使用已熟悉的。
汇编语言程序设计实验报告(一)
一、预备知识
汇编语言程序设计是一门实践性很强的课程。编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的
1、 掌握实验运行汇编语言所用的计算机机型
2、 熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑
的应用程序。)
3、 掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、 LINK连接程序
5、 DEBUG调试程序
三.实验要求
上机前准备好程序框图,源程序清单,调试步骤,测试方法,对结果的分析等。 程序调试完后由辅导老师鉴定试验结果是否符合实验要求。
四.汇编语言源程序上机操作过程
7、 编辑源文件
根据给定的任务,可编写程序。如果经过检查认为所编程序无错时,就可在计
算机上通过编辑程序建立源程序文件了。一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动A:。进入QE
A>\QE
进入全屏幕后可以开始编程。文件名取为sample.asm
;PROGRAM TITLE GOES HERE--Compare string
;***************************************************************************
datarea segment ;define data segment
string1 db 'Move the cursor backward.'
string2 db 'Move the cursor backward.'
;
mess1 db 'Match.',13,10,'$'
mess2 db 'No Match!',13,10,'$'
datarea ends
;***************************************************************************
prognam segment ;define code segment
;---------------------------------------------------------------------------
main proc far
assume cs:prognam,ds:datarea,es:datarea
start: ;starting execution address
;set up stack for return
push ds ;save old data segment
sub ax,ax ;put zero in AX
push ax ;save it on stack
;set DS register to current data segment
mov ax,datarea ;datarea segment addr
mov ds,ax ; into DS register
mov es,ax ; into ES register
;MAIN PART OF PROGRAM GOES HERE
lea si,string1
lea di,string2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:
lea dx,mess1
disp:
mov ah,09
int 21h
ret ;return to DOS
main endp ;end of main part of program
;---------------------------------------------------------------------------
prognam ends ;end of code segment
;***************************************************************************
end start ;end assembly
输入完毕后,按ALT---X,存盘返回DOS
8、 汇编源程序文件(ASM,MASM)
由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。需要经过
汇编程序的汇编,使其转为目标代码文件。它是通过调用宏汇编MASM(或汇编程序ASM)程序完成这一汇编操作的。汇编程序还将对源文件进行语法检查,如发现有错,将给出错误原因。程序设计者可根据它分析和修改源程序,并再经过汇编,直到无错时为止,此时得到的是一个目标文件(OBJ文件)。
A>\masm
Source filename [.ASM]:myfile
Object filename [myfile.OBJ]:
Source Listing [Nul.LIST]:
Cross—referedce [NUL.CRF]:
9、 连接目标文件(LINK)
目标文件为浮动的相对地址,是不可直接执行的。必须经过连接,把有关模块
连接在一起,构成统一的编址,从而为运行提供条件。在运行时,装填到内存中的具体位置由段地址来确定。连接过程是由LINK连接程序实现的,止时得到的是一个可可执行文件(EXE文件)。
A>\LINK
Object Modules [.OBJ]myfile
Run File[MYFILE.EXE]:
LIST FILE [NUL.MAP]:
Libraries[.LIB]:
10、 运行可执行文件
得到可执行文件后就可以直接调用可执行文件名,从盘上调到内存中运行。
三、实验总结
编写好一个程序后,要想在计算机中调试、运行,必须要有一个程序来支持程序的编辑、修改等操作。这种支援程序叫编辑程序。编辑程序有很多种,但按功能划分,主要有两大类。一类是行编辑程序,如EDIT编辑程序;另一类是全屏幕编辑程序如Quick Edit(QE)。行编辑程序功能较弱,不如全屏幕编辑程序方便、灵活。在编辑汇编语言的源程序时,可以使用已熟悉的。