- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 汇编语言程序设计和调试(四)
——宏指令、子程序调用
一.实验目的
进一步了解汇编语言程序设计及程序设计中宏指令、子程序的调用.
二.实验准备
1. PC系列微型计算机一台;
2. 软件安装DOS系统、含EDIT.EXE、MSAM.EXE 、LINK.EXE或其他软件编辑工具;
3. C盘下创建MASM目录。
三.实验要求
1.启动计算机并进入DOS状态和MASM5子目录。
2.在当前盘的MASM目录下用EDIT编辑工具将自己编写的源程序编辑成一个源程序
文件,以“文件名.ASM”名称存储在当前盘。
3.使用MASM对源程序汇编,生成目标程序文件(文件名.OBJ)
4.返回EDIT环境查看列表文件
5.使用LINK软件生成可执行程序文件(文件名.EXE)
6.运行生成可执行程序文件(文件名.EXE)
7.在DEBUG状态下装入文件名.EXE,按要求调试程序。
8.用DEBUG的D命令查看程序区。
9.用DEBUG的U命令反汇编出全代码段的语句。
10.用DEBUG的T命令,按步数运行该程序,并用R或D命令查看结果。
四.实验内容和实验步骤
使用EDIT、MASM和LINK等程序实现以下汇编语言源程序的输入、汇编、链接、调试和运行。
1、程序一:将大写字母转换成小写字母
(Ⅰ)源程序:
NAME LX71
STACK SEGMENT STACKSTSCK
DW 32 DUP(0)
TOP EQU $
STACK ENDS
DATA SEGMENT
CV DB HELLO HOW ARE YOU,0AH,0DH,$
CZ DW 12 DUP(?)
CY DB ?,?,$
DATA ENDS
CODE SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
MAIN PROC FAR
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV CX,11H
LEA SP,TOP
LEA SI,CV
LEA DI,CZ
AGAIN: MOV AH,[SI]
CMP AH,20H ; 空格的ASCCII码
JZ NEXT ; 等于空格转
ADD AH,20H
MOV [DI],AH
NEXT: INC SI
INC DI
DEC CX
JNZ AGAIN
EXIT: LEA DX,CZ ; 显示字符串首址
MOV AH,09H ; DOS功能调用号
INT 21H
RET
MAIN ENDP
CODE ENDS
END MAIN
(Ⅱ)实验步骤:
(1)利用EDIT 全屏幕编辑程序的编辑功能输入以上程序,以文件名为LX71.ASM存入C盘MASM子目录下。
(2)在DOS系统下执行执行文件MASM.EXE ,用宏汇编程序将LX71.ASM.汇编成目标文件LX71.OBJ
(3) 运行LINK执行文件将目标文件LX71.OBJ连接成为可执行的文件LX71.EXE。
(4) 查看列表文件LX71.LST ,
键入C:\MASMEDIT LX71.LST
观察显示列表文件内容,记录有关内容:
① 数据段的起始单元的偏移地址:
数据段中变量CV、CZ、CY的偏移地址:
数据段占有字节数:
数据段变量CV单元存放的数据:
② 堆栈段的起始单元的偏移地址:
堆栈段占有字节数:
TOP值为:
(5)在DOS环境下运行程序,程序运行结束屏幕所显内容为:
(6)进入DEBUG环境并将LX71.EXE文件装入后,用U命令观察屏幕所显示的内容,写出:
① 代码段的首单元的段地址和偏移地址:
② 数据段和堆栈段的段基地址分别为:
③ 变量CV的段地址和偏移地址为:
CZ的段地址
您可能关注的文档
最近下载
- 22J611-4图集—金属结构大门.pdf VIP
- 2025-2026学年小学美术鲁教版五四制五年级上册-鲁教版(五四制)教学设计合集.docx
- 2025CSP-J2-第二轮比赛-C++试题 .pdf VIP
- 完美健康观念课件.pptx VIP
- 幼儿园玩教具配备基本标准表.doc VIP
- 妊娠期母儿健康管理新策略题库及答案-2025年华医网继续教育.docx VIP
- 2025 学校公开招聘教师简章.pdf VIP
- 乳腺癌根治术后护理查房 (1).pptx VIP
- 初中英语教学实践:AI生成式案例在语法教学中的应用研究教学研究课题报告.docx VIP
- 【算法】labuladong的算法小抄.pdf VIP
原创力文档


文档评论(0)