汇编语言指令及伪指令练习的实验报告总结(范文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言指令及伪指令练习的实验报告总结
汇编语言指令及伪指令练习的实验报告总结
篇一:
汇编语言实验报告福建农林大学金山学院课程名称:
姓名:
系:
专业:
年级:
学号:
指导教师:
职称:
(程序设计类课程) 实验报告汇编语言 201X~201X学年第二学期实验项目列表福建农林大学金山学院实验报告系:专业:
年级:
姓名:
学号:
实验课程:
汇编语言实验室号:
_ _1#605 实验设备号:
I3 实验时间:
201X.
4.25指导教师签字:
成绩:
实验一汇编程序的汇编及运行
1.实验目的和要求
(1)熟悉汇编程序的汇编、连接、执行过程;
(2)生成LST文件,查看L ST文件;
(3)生成BJ文件,修改语法错误;
(4)生成EXE文件;
(5)执行程序。
2.实验环境 IBM—PC机及其兼容机;实验的软件环境是:
操作系统:
DS
2.0以上;调试程序:
DEBUG.CM;文本编程程序:
EDIT.EXE、PS.EXE;宏汇编程序:
MA SM.EXE(或AS M .EXE);连接装配程序:
L INK .EXE;交叉引用程序:
CREF.EXE(可有可无)。
3.实验内容及实验数据记录
(1)将数据段输入,取名
1.txt,保存在MASM文件夹下。
生成LST文件,(不必连接、运行)用EDI T查看
1.LS T文件。
试回答:
DA1,DA2的偏移量分别是多少?C UNT的值为多少?DATA SEGME NT RG 20HNUM1=8 NUM2=NUM1+10H DA1 DB ‘I BM PC’ CUN T EQU $-DA1 DATA END S DA2 DB 0AH, 0DH EN D
(2)输入有错误的文件,修改错误语句。
(MASM没有出现错误即可。
不必连接、运行。
)D ATA SEGMEN T VAR1 DB0, 25, DH,300 VAR2DB 12H, A4H, 6BH VAR3 DB ’ABCD EF’ VAR4 D 1H, 5678H VAR5 D 10H DUP(?) D ATA ENDS C DE SEGMENT ASSUME CS: CDE, DE: DATA MV D S, AX LEASI, VAR5 M V BX, FFSE T VAR2 MV[SI], 0ABH MV AX, VA R1+2 MV [B X], [SI] M V VAR5+4,VAR4 MV AH, 4CH INT21H ENDS E ND START B EING MV AX, DATA CDE
(3)输入正确的程序,汇编、连接、运行 STACKS SEGMENT S TACK D 128DUP(?) EN DS SEGMENT ENDS SEGM ENT ASSUME CS: CDES,DS: DATAS STACKS DA TAS DATASCDES STRIN G DB ‘ELCM E!’, 13, 10, ‘$’ STA RT: MV AX, DATAS MV DS, AX LEA DX, S TRING MV A H, 9 INT 21H MV AH,4CH INT 21H CDES END S END STAR T
4.算法描述及实验步骤 1)首先,用记事本输入各段程序,并储
存成源程序,保存在MASM目录下。
2)对源程序进行汇编、连接。
操作如下:
(1)在DS状态下,进入MASM目录;
(2)输入命令:
MASM 文件名
(3)在系统出现的提示中输入:
bject filename[.bj]: 按回车键。
surce li stling[nul.lst]: 输入:
文件名,生成list文件。
cr ss-referen ce [nul.cr f]: 按回车键。
(4)如果系统没有提示出错,那么汇编过程就完成了。
如果提示错误则应打开源文件进行修改,然后再重复
(2)和
(3)步骤。
(5)输入:
LINK 文件主名 run file[.exe]: 按回车键。
list f ile [nul.m ap]: 按回车键。
libraries [.lib]: 按回车键。
(6)如果没有提示错误,汇编过程就结束了。
产生了.exe可执行文件。
3) 执行程序(由DS中的CMMA ND命令将文件加载入内存),在DS提示符下直接输入文件主名执行文件。
篇二:
汇编语言实验报告汇编语言课程设计学院:
专业:
姓名:
学号:
汇编语言是计算机专业的一门重要的专业基础课,主要介绍汇编语言程序设计的基本原理和方法。
汇编语言是一门理论性和实践性较强的课程,辅助课堂教学的实验有助于帮助学生理解汇编语言的基本原理,锻炼学生的动手能力,提高学生的综合应用知识的能力。
目录 1 利用DEB UG调试汇编语言程序段……………………………………… 2 初级程序的编写与调试实验
(一) .................................................... .............................3 初级程序的编写与调试实验(二)………………………………………... 4汇编语言程序上机过
程 ........................................................ .................................................. 5分支程序实验..................................................................... 6 循环程序实验.............................................................. (1)
利用D EBUG调试汇编语言程序段一.课程目的
1.熟悉DE BUG有关命令的使用方法;
2.利用DEBUG掌握有关指令的功能;
3.利用DEBUG运行简单的程序段。
二.课程内容
1.进入和退出DEBU G程序;
2.学会DEBUG中的1)D命令(显示内存数据D 段地址:偏移地址)例1:
-D100 2)E命令(修改指定内存)例1:
-E100 41 4243 44 48 47 46 45 -D 100,L08 结果:
08F1:
010041 42 43 44 48 47 46 45 例2:
-E 100:
08F1:
0100 76 42 :
42是操作员键入此命令是将原100号内存内容76修改为42,用D命令可察看。
3)R命令(显示当前寄存器的内容) 4)T命令(设置陷井,单步执行) 5)A命令(将指令直接汇编成机器码输入到内存中。
)6)G命令等的使用(执行A命中输入的汇编指令)
3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。
三.课程要求
1.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;四.环境 PC微机 DS操作系统或 inds 操作系统MASM.E XE,LINK.EX E,DEBUG.CM或宏汇编集成环境五.方法步骤
1.在DS提示符下,进入DEBUG程序;
2.在DS目录下启动DEBUG;
3.详细记录每一步所用的命令,以及查看结果的方法和具体结果。
R, D,E 命令:
A, T 命令:
进入和退出DE BUG:
六.学习要求
1.如何启动和退出DE BUG程序;
2.整理每个DEBU G命令使用的方法,实际示例及执行结果。
七.思考题启动DE BUG后,要装入某一个.EXE文件,应通过什么方法实现?答:
用debu g+文件名八.小结通过这个设计我懂得了DEBUG程序调试汇编程序的一些基本方法和指令。
知道了DE BUG程序的一些功能。
使我对汇编语言有了进一步的理解。
篇三:
汇编实验报告一汇编语言程序设计实验报告实验名称上机过程及顺序结构与分支结构程序设计实验班级学号姓名日期成绩评阅人软件学院
一、实验目的与意义
1、掌握汇编语言程序设计的基本方法和技能;
2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;
3、熟练掌握宏汇编程序MASM的使用;
4、熟练掌握连接程序LIN K的使用;
5、学习数据传送及算数和逻辑运算指令的用法;
6、掌握分支程序的结构;
7、掌握分支程序的设计、调试方法;
8、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序;
二、实验环境操作系统:
ind s XP 调试软件:
Edit P lus 3,MASM
5.0 上机地点:
综合楼311
三、实验的预习内容
(1)熟悉上机练习过程和伪指令实验实验预习内容:
在实验前,充分熟悉E dit Plus 3的环境以及配置方法,熟悉各种debug的常用指令:
U、D、T、P、G、A、E及R命令的使用和含义,了解数据传送指令和算数以及逻辑运算指令的用法,在理论上了解数据的存储情况以及DD,DB,D伪指令的用法和含义。
实验思路:
按照书上的程序打入代码,进行汇编、连接和运行程序查看此时程序的运行情况,之后进入de bug界面,分别使用U、D、T、P、G、A、E及R命令等常用指令,可查看此时的程序的执行状况以及此时寄存器的存储情况以及对于内存的使用情况。
程序一流程图:
程序二流程图:
(2)顺序结构程序设计实验实验预习内容:
在实验前了解十进制,十六进制和ASCII码之间的转换,了解如何从键盘中输入字符和回车换行,以及在屏幕中显示的汇编指令。
实验思路:
从键盘中输入要计算的数字,将其进行平方运算,利用计算得到数字,了解十进制数字、十六进制数字与其对应ASC II码的转换方法,将数字显示到屏幕上。
程序流程图:
(3)分支程序设计实验实验预习内容:
在实验前了解分支结构的特点,明白跳转指令和程序转移指令的使用的使用,以及两个数进行比较后各个标志位的变化。
实验思路:
首先定义三个数,先比较前两个数的符号,如果相同则比较第二个数字和第三个数的符号,如果相同,利用左移一位判断正负,之后进行显示。
程序流程图:
四、实验的步骤与调试方法
(1)熟悉上机练习过程和伪指令实验实验步骤:
上机实验首先要配置editpl us的环境,之后输入代码,运行debug,在debug中输入相应的指令,观察结果。
在程序中首先定义数据段和代码段,在定义数据时使用伪指令定义,之后运行debug,了解了数据在内存中的存储。
之前对de bug的理解不深,有很多语句都不能很好的使用和理解,在经过这次实验后,对于数据的存储和debug有了更深的理解。
程序二自行分析的数据存储情况:
DAT A1:
DA TA2:
D ATA3:
(2)顺序结构程序设计实验本实验刚开始规定用查表法来实现。
首先定义数据段定义数字,输入数字,将其转化成对应的地址偏移量,求的数据的地址送入B X,求得平方后除以10得到商和余数,利用
十进制与ASCII码的转化将其输出到屏幕上。
十六进制与十进制类似,INT 21的2号功能每次只能输出一个字符,因此,需要将将结果转化成一个高位和一个低位存在不同寄存器中分别输出。
在实验过程中对于不能正确运行的时候,使用d ebug中的T和P命令来执行得知程序执行情况。
(3)分支程序设计实验首先,实验先定义数据段的数据,通过将SI的值赋为0,得到第一个数据的有效地址,将数据送入寄存器得到CF值,之后按照同样的方法取得第二个数字,并把其送入寄存器。
使用RCL指令将最高位送入CF中,得到CF是0还是1,如果不相同
则取第三个数据进行比较,否则输出空格。
在取第三个数据之后仍
然左移一位,得到CF位,判断CF是否相同,如果不同,则输出空格,如果相同则继续判断CF位的数值,如果数值为1,则输出负号,如
果数值为0,则输出正号。
实验开始不能很好的使用跳转命令等指令,走过很多弯路,在经过学习后,更好的了解了各种跳转指令。
在实验的过程中,开始不能输出负号,经验证得知没有很好的输入i nt 21H 的功能,因而无法正常从显示屏里输出。
经过更改,程序正常运行。
五、实验数据与实验结果实验一程序一:
首先使用指令T进行单步执行操作,执行的结果如下:
篇四:
汇编语言实验报告实验1 查看CPU和内存,用机器指令和汇编指令编程
1.预备知识:
D ebug的使用
2.实验任务(第45页)
(1)已跟踪执行
(2)
(3)通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为 / 的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。
此生产日期不能被改变,因为其具有‘只读’属性。
(4)通过向内存中的显存写入数据,使计算机根据写入的数据进行ASCII转换,并将转换后且可打印的字符输出到屏幕上。
(5) 实验 2 用机器指令和汇编指令编程
1.预备知识:
Debug的使用
2.实验任务(第71页)
(1)使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。
从第一空开始依次如下:ax=5BEA ax=5CCA bx=30F0 bx=6022 sp=FE 220FE 5CCA s p=FC 220FC6022 sp=F E 6022 sp=100H 5CCAsp=FE 220F E 30F0 sp=FC 220FC 2F32 说明:
此题可能因机子软、硬件环境不同而导致答案不一致!
(2)仔细观察图
3.19的实验过程,然后分析:
为什么201X:0~201X:f中的内容会发生改变?答:
因为用T指令进行调试时,会产生中断。
而为了保护现场,CP U 则先将标志寄存器进栈、再把当前CS的值进栈,最后将IP的值进栈。
实验三汇编语言程序的调试与运行
1. 将下面的程序保存为t
1.asm文件,生成可执行文件t
1.exe; assu me cs:cdes g cdesg se gment mv a x,201Xh mv ss,ax mvsp,0 add s p,4 pp axpp bx push ax push b x pp ax pp bx mv ax,4c00h int21h cdesgends end 篇五:
汇编语言实验报告实验报告实验课程:
IBM-PC汇编语言程序设计学生姓名:
毛训星学号:
专业班级:
201X年12月17日南昌大学实验报告南昌大学实验报告 --- (4)汇编语言程序上机过程学生姓名:
毛训星学号:
6100410101 专业班级:
电Ⅲ103班实验类型:
□验证■综合□设计□创新实验日期:
实验成绩:
一、实验目的熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。
了解汇编语言程序的汇编、运行环境。
二、实验内容
1.掌握常用的编辑工具软件(如RD、EDIT)、MASM和LIN K的使用;
2.伪指令:
SEGMENT,E NDS,ASSUME,END,FFSET,DUP;
3.利用的INT 21H的1号功能实现键盘输入的方法;
三、实验环境P C微机 DS操作系统或 inds 操作系统
MASM.EXE,LINK.EXE,DEBUG.CM或宏汇编集成环境
四、实验要求
1.仔细阅读有关伪指令SEGMENT,ENDS,ASSU ME,END,FFS ET,DUP的内容;
2.了解利用的INT 21H的1号功能实现键盘输入的方法,了解.EXE 文件和.CM文件的区别及用INT 21H 4C号功能返回系统的方法;
3.阅读下面程序段。
五、主要实验步骤程序:
data segm ent messag e db Thisis a sampl e prgram f keybard a nd disply db 0dh,0a h, Pleasestrike the key! ,0dh,0ah, $ d ata ends s tack segme nt para st ack stack db 50 dup(?) stackends cde s egment ass ume cs:cde,ds:data,s s:stack st art: mv
ax,data mv d s,ax mv dx,ffset mes sage mv ah,9 int 21h again: mv ah,1 int21h nd: ex it: cde en ds end sta rt 实验步骤:
cmp al,1bh je exi t cmp al,61h jc nd c mp al,7ahja nd andal,11011111b mv dl,a l mv ah,2int 21h jm p again mv ah,4ch in t 21h
1.用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。
2.用MASM对源文件进行汇编,产生.BJ文件和.LST文件。
若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
3.用TYPE命令显示1产生的.LST文件。
4.用LINK将.BJ文件连接成可执行的.E XE文件。
5.在DS状态下运行LINK产生的.EX E文件。
即在屏幕上显示标题并提示你按键。
每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。
按ESC键可返回DS。
若未出现预期结果,用DEBUG 检查程序。
。