汇编实验报告.docx
- 文档编号:30274686
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:12
- 大小:110.23KB
汇编实验报告.docx
《汇编实验报告.docx》由会员分享,可在线阅读,更多相关《汇编实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
汇编实验报告
汇编语言程序设计及应用
实验报告
院系:
班级:
学号:
姓名:
实验一、汇编语言上机的基本过程及环境
一、实验目的
(1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。
(2)了解汇编语言的程序结构。
二、实验内容
(1)在数据段中定义两个数(数据自拟,包含有正数和负数),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果(包括对CF,OF,SF,ZF的影响)。
(2)首先对AX,BX,CX寄存器赋初值(数据自拟),再将AX寄存器的中间八位,BX的低四位和CX的高四位拼接成一个新的字,并把结果存入偏移地址为0000H的存储单元。
其中BX的低四位作为结果字的高四位,CX的高四位作为结果字的低四位。
并用Debug的相关命令查询内存单元的结果字。
三、实验步骤
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
源程序代码如下:
DATASEGMENT
XDW0E98AH,80AFH,0FD32H,0F68FH
YDW9FD0H,70BAH,3D84H,89FEH
ZDW5DUP(?
)
DATAENDS
STACKSEGMENTPARASTACK'STACK'
DB100HDUP(?
)
STACKENDS
CODESEGMENT'CODE'
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
MAIN:
MOVAX,DATA
MOVDS,AX
MOVCX,4
MOVSI,0
CLC
GOON:
MOVAX,X[SI]
ADCAX,Y[SI]
MOVZ[SI],AX
INCSI
INCSI
LOOPGOON
RCLAX,1
ANDAX,1
MOVZ[SI],AX
MOVAX,4C00H
INT21H
CODEENDS
ENDMAIN
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。
(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
四、实验结果
五、实验心得
初次做汇编语言程序设计实验觉得很生涩,因为汇编程序语句更接近机器码,这就要求对实验原理要熟悉,所以感到很难,不过好在听了老师的讲解和示范后,觉得操作比较没有那么难懂,首先在文本文档里写程序,再另存到masm目录下,格式为asm,然后在doc下汇编程序,形成obj文件,再连接形成exe文件,用debug进行调试即可。
实验二、分支及循环程序设计
一、实验目的
(1)掌握分支及循环结构程序设计的方法。
(2)进一步熟悉汇编语言源程序的编辑、汇编、连接及调试过程。
二、实验内容
在数据段中定义若干个有符号字数据(初始值自拟)存放在以BUF为首址的存贮区中,编写程序求最大值和最小值,并保存到MAX,MIN变量中。
三、实验步骤
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
程序源代码如下:
DATASEGment
BUFDW0E34AH,1432,1945H,0FFFFH,-32768,3344
COUNTEQU($-BUF)/2
MAXDW8000H
MINDW7FFFH
DATAENDS
CODESEGMENT
assumeCS:
CODE,DS:
DATA
MAIN:
MOVAX,DATA
MOVDS,AX
MOVCX,COUNT
MOVBX,0
MOVAX,MAX
MOVDX,MIN
LP:
CMPAX,BUF[BX]
JGBRA0
MOVAX,BUF[BX]
BRA0:
CMPDX,BUF[BX]
JLBRA1
MOVDX,BUF
bra1:
addBX,2
LOOPLP
MOVMAX,AX
MOVMIN,DX
MOVAX,4C00H
INT21H
CODEends
endMAIN
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。
(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
四、实验结果
五、实验心得
有了上一次的基础接触,这次的试验在难度上有了一点点提高,毕竟实验的目的是汇编而不是简单地操作,分支及循环结构的程序设计才是重点。
首先要了解了程序是怎样编写的,再熟悉汇编语言源程序的编辑、汇编、连接及调试过程,最后学习循环语句的编程和调试的步骤,特别是调试的步骤要记清楚。
实验三、子程序设计
六、实验目的
(1)掌握子程序设计的方法及堆栈参数传递方法。
(2)进一步熟悉汇编语言源程序的编辑、汇编、连接及调试过程。
七、实验内容
在数据段中定义两个有符号字变量(初始值自拟),用函数实现求两个字变量中大的值,并使用堆栈传入参数和返回结果,并保存到maxv变量中。
八、实验步骤
a)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
源程序代码为:
DATASEGMENTpublicUSE16'DATA'
tipmsgdb'Enterthechar:
$'
stringdb'abcdefg1234567890$'
succstrdb'Yes,found!
$'
failstrdb'No,found!
$'
returndb13,10,'$'
DATAENDS
stacksegmentstackUSE16'STACK'
DB1024dup(?
)
stackends
CODESEGMENTpublicUSE16'CODE'
ASSUMECS:
CODE,DS:
DATA,SS:
stack
.386
MAIN:
movax,data;
movds,ax;
;显示提示字符串
MOVdx,offsettipmsg
MOVAH,9
INT21H
;输入一个字符
MOVAH,1
INT21H
MOVCL,AL
;输出回车换行
MOVdx,offsetreturn
MOVAH,9
INT21H
;查找
MOVBX,0
FIND:
CMPstring[BX],'$';判断是否结束符
JZNO;
CMPstring[BX],CL
JZYES
INCBX
JMPFIND
YES:
MOVdx,offsetsuccstr;显示Yes,Found!
MOVAH,9
INT21H
JMPEXIT
NO:
MOVdx,offsetfailstr;显示Nofound!
MOVAH,9
INT21H
EXIT:
movax,4c00h
INT21H
CODEENDS
ENDMAIN
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。
(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
九、实验结果
一十、实验心得
这次实验主要掌握了如何选定合适的参数传递方式(包括传入参数和返回值),掌握堆栈方法传递参数,最后要注意释放堆栈。
不过在细节性问题上还要多注意,经过这次试验,我发现其实编程语言之间也有相似之处,不过在实现目标时的表达方式有点点差异,所以不管是哪种编语言的结构思想我们一定要学会。
实验四、系统调用与中断处理
一、实验目的
(1)掌握DOS提供的有关输入/输出的系统功能调用。
(2)进一步熟悉汇编语言源程序的编辑、汇编、连接及调试过程。
二、实验内容
编程实现在给定的字符串查找一字符,待找字符从键盘输入,找到时提示‘Yes,found!
’,找不到时提示‘Nofound!
’。
三、实验步骤
(1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。
源程序代码如下:
DATASEGMENT
val1DW1000h
val2DW2000h
maxvDW?
DATAENDS
STACKSEGMENTSTACK'STACK'
DB100HDUP(?
)
STACKENDS
CODESEGMENT'CODE'
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
.386
MAIN:
MOVAX,DATA;
MOVDS,AX
PUSHval1
PUSHval2
CALLMAX;
POPmaxv;栈顶返回值出栈
MOVAX,4c00H
INT21H
MAXPROC
PUSHBP;执行该指令前堆栈情况
;执行后堆栈情况
MOVBP,SP
MOVAX,[BP+4]
CMPAX,[BP+6]
JAEXIT
MOVAX,[BP+6]
EXIT:
MOV[BP+6],AX;用栈顶返回值
POPBP
RET2;执行后堆栈情况
MAXENDP
CODEENDS
ENDMAIN
(2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)
(3)用连接程序LINK连接目标代码文件,形成可执行文件。
(扩展名为EXE)
(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。
四、实验结果
五、实验心得
这是称得上我操作最流畅的一次实验了,在上过几次汇编语言程序设计实验之后我终于是摸索到汇编的一点点门路了,尽管在专业人士看来这只是冰山一角,不过学习是慢慢积累的,试验中掌握的汇编知识对以后的深层次学习打下了坚实的基础,最终实现对计算机硬件的管理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 报告