武汉轻工大学汇编实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、汇编语言上机的基本过程及环境
【实验目的】
(1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。
(2)了解汇编语言的程序结构。
【实验内容】
在数据段中定义两个数(数据自拟),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果。【实验步骤】
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
实验数据:1000H 2000H
实验源代码:
DATA SEGMENT
A1 DW 1000
A2 DW 2000
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 1024 DUP(?)
STACK ENDS
CODE SEGMENT PUBLIC 'CODE'
ASSUME CS:CODE,DS:DA TA,SS:STACK
START: MOV AX,DA TA
MOV AX,A1
MOV BX,A2
ADD AX,BX
SUB AX,BX
SUB AX,BX
ADD AX,BX
MOV DS,AX;
MUL BX
MOV AX,DS
DIV BX
MOV AX,4C00H
INT 21H
CODE ENDS
END START
实验截图:
实验总结:
通过对本次实验的学习,对汇编知识有了初步的了解。本次实验主要是对debug调试命令进行练习。按照指导书的调用指令进行调试很容易上手。
实验二、分支程序设计
【实验目的】
(1)掌握分支结构程序设计的方法。
(2)进一步熟悉汇编语言源程序的编辑、汇编、连接及调试过程。【实验内容】
在数据段中定义三个变量(初始值自拟),编写程序求最大值,并保存到MAX变量中。
【实验步骤】
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
实验数据:1000H、2000H、3000H
实验源代码:
DATA SEGMENT
A1 DW 1000H
A2 DW 2000H
A3 DW 3000H
MAX DW ?
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 100H DUP(?)
STACK ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE,DS:DA TA,SS:STACK START: MOV AX,DA TA
MOV DS,AX
MOV AX,A1
CMP AX,A2
JA NEXT
MOV BX,A2
CMP BX,A3
JA LAB
MOV DX,A3
JMP DONE
LAB: MOV DX,A2
JMP DONE
NEXT: CMP AX,A3
JA LAS
MOV DX,A3
JMP DONE
LAS: MOV DX,A1
JMP DONE
MOV MAX,DX
DONE: MOV AX,4C00H
INT 21H
CODE ENDS
END START
实验截图:
实验总结:
在上次实验的基础上,对debug调试命令有了更进一步的认识,通过看书,解决了实验中的一些错误。实验中有时会用错指令,导致结果不是想要的。
实验三、循环程序设计
【实验目的】
(1)掌握循环结构程序设计的方法。
(2)进一步熟悉汇编语言源程序的编辑、汇编、连接及调试过程。【实验内容】
编制程序,统计有符号数组ARRA YW中大于5、小于5和等于5的数据个数,并将其分别存储到字变量MAX5,MIN5和EQU5中去。
【实验步骤】
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
实验源代码:
DATA SEGMENT
ARRAYW SWORD -1,+5,+7F07H
COUNT E QU($-ARRAYW)/2
MAX5 DW 0
MIN5 DW 0
EQU5 DW 0
DATA ENDS
EXTDATA SEGMENT
MAX1 DW COUNT DUP(?)
MIN1 DW COUNT DUP(?)
EQU1 DW COUNT DUP(?)
EXTDATA ENDS