实验二-汇编语言程序的上机步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二汇编语言程序的上机步骤
一、实验目的
熟练掌握汇编语言程序的上机步骤和程序调试方法。
二、实验内容及步骤
1.通过CMD命令进入DOS方式。
2.通过CD命令和MD命令建立和进入用户程序目录。
3.将实验一笑脸程序补充为一个完整的汇编语言程序。
4.熟读第五部分内容:环境简介
5.通过编辑——汇编——连接步骤生成.EXE形式的笑脸程序Smile.exe。
6.运行Smile.exe程序,观察运行结果。
7.用“DUBUG Smile.exe”命令将Smile.exe程序装入内存,通过R命令读取Smile.exe程序在内存的地址。
8.用反汇编U命令观察笑脸程序。
9.重复实验一“使用DEBUG调试程序”中的步骤(4)和(5),观察程序运行结果。
10.验证题
以下程序段用以显示信息“Press any key when you ready.”。在用户按下任一键后,另起一行显示信息“Input your password:”。
DSEG SEGMENT use16
MESS1 DB ‘Press any key when you ready’,0AH,0DH,‘$’
MESS2 DB ‘Input your password:’,’$’
DSEG ENDS
SSEG SEGMENT STACK
DB 80H DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEG
START:MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS1
MOV AH,09H
INT 21H ;显示“press any key when you ready.”
MOV AH,08H
INT 21H ;等待用户按任一键
MOV DX,OFFSET MESS2
MOV AH,09H
INT 21H ;显示“Input your password:”
MOV AH,4CH
INT 21H
CSEG ENDS
END START
三、实验要求
认真完成实验每一步骤,详细记录实验过程、现象和结果,及时整理实验报告。
四、实验作业
1.分析DEBUG下输入并调试程序和完整汇编语言程序调试方式的优缺点。
2.编写一个显示全部26个大写A-Z字符的程序段,并在DUBUG下调试通过。
3.编写一程序,作BCD数的四则运算,在程序中设置非压缩BCD数X,从键盘输入一位十进制数Y。将X+Y、X-Y、X*Y及X/Y(不考虑余数)分别送ANS _A,ANS_S,ANS_M及ANS_D变量。上机调试程序;检查执行结果。
4.编写一程序,实现两个三字节无符号数DATA1和DATA2的相加,结果送四字节变量ANS。上机调试程序,检查执行结果。
5.将上述程序补充为完整的汇编语言程序,通过步骤编辑、汇编、连接,生成.EXE文件,并运行之。观察程序运行结果。
6.写出实验体会。
五、汇编环境简介
1.编辑程序编辑汇编语言源程序
使用文本编辑程序(如DOS 自带的EDIT.EXE)进行文件的编辑建立汇编语言程序。
格式:EDIT 文件名.ASM (回车)
2.汇编程序生成目标程序
经过编辑命令建立的汇编语言源程序使用汇编程序(如微软公司的MASM.EXE)编译成目标程序。
格式:MASM 文件名
在汇编程序调入后,先显示版本号,然后出现以下第一行提示:
Object filename [源文件名.OBJ]: ;默认该文件名回车,或者输入新文件名。
Source Listing [NUL.LST] : 源文件名或其他 ;输入文件名可建立列表文件。
Cross Reference [NUL.CRF]: 源文件名或其他 ;输入文件名可建立交叉索引文件。
Warning Errors ;显示警告错误个数
severe Errors ;显示严重错误个数
如果汇编过程中发现源程序有错误,由以上两种错误类型分别列出。此时可分析错误原因,返回编辑程序修改源程序。
汇编程序出错信息见《汇编程序出错信息表》, 注意出错的类型及出错的源文件对应行。
若不需要产生 .LST 和 .CRF 文件, 可在 > MASM 文件名命令后加";",即> MASM 文件名;
3.链接程序生成可执行文件
汇编后建立的目标码文件,必须经过链接程序(如LINK.EXE)完成链接后才能生成可执行的命令文件。
格式:LINK 文件名 ;回车后调入链接程序,此时屏幕显示:
Run File [文件名.EXE]: ;回车默认该文件名。
List File [NUL.MAP]: ;输入文件名可建立映像文件。
Libraries [ .LIB]: ;回车,汇编语言没有库文件。
Warning: ;提示错误。
如果有错误,须返回编辑程序重新修改源程序。
若不需要产生 .MAP文件, 可在 > MASM 文件名命令后加";",即
> MASM 文件名;
若要生成 .COM 文件, 则用 EXE2BIN 实现:
> EXE2BIN A.EXE
4.汇编语言动态调试工具调试汇编源程序
DEBUG 是专为汇编语言设计的一种调试工具,可用来检查、修改存储单元和寄存器的内容,装入、存储及启动运行程序,也可用 DEBUG 汇编简单的汇编语言程序。