汇编语言程序设计的实验环境及实验步骤.doc

汇编语言程序设计的实验环境及实验步骤.doc

ID:57312476

大小:282.01 KB

页数:7页

时间:2020-08-11

汇编语言程序设计的实验环境及实验步骤.doc_第1页
汇编语言程序设计的实验环境及实验步骤.doc_第2页
汇编语言程序设计的实验环境及实验步骤.doc_第3页
汇编语言程序设计的实验环境及实验步骤.doc_第4页
汇编语言程序设计的实验环境及实验步骤.doc_第5页
资源描述:

《汇编语言程序设计的实验环境及实验步骤.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一汇编语言程序设计的实验环境及实验步骤第一部分DOS环境下的汇编语言编程环境使用一、实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握宏汇编程序MASM的使用;3、熟练掌握连接程序LINK的使用。二、实验内容与步骤1、实验内容编写程序,判断一个年份是否是闰年。2、实验步骤(1)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)DATASEGMENTINFONDB0DH,0AH,'Pleaseinputayear:$'YDB0DH,0AH,'Thisisaleapyear!$'NDB0DH,0

2、AH,'Thisisnotaleapyear!$'WDW0BUFDB8DB?DB8DUP(?)DATAENDSSTACKSEGMENT'stack'DB200DUP(0)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXLEADX,INFONMOVAH,9INT21HLEADX,BUFMOVAH,10INT21HMOVCL,[BUF+1]LEADI,BUF+2CALLDATACATECALLIFYEARSJCA1LEAD

3、X,NMOVAH,9INT21HJMPEXITA1:LEADX,YMOVAH,9INT21HEXIT:MOVAH,4CHINT21HDATACATEPROCNEARLEASI,BUF+2MOVBX,0X3:MOVAL,[SI]SUBAL,30HMOVAH,0XCHGAX,BXMOVDX,10DMULDXXCHGAX,BXADDBX,AXINCSILOOPX3MOVW,BXRETDATACATEENDPIFYEARSPROCNEARPUSHBXPUSHCXPUSHDXMOVAX,WMOVCX,AXMOVDX,0MOVB

4、X,4DIVBXCMPDX,0JNZLAB1MOVAX,CXMOVBX,100DIVBXCMPDX,0JNZLAB2MOVAX,CXMOVBX,400DIVBXCMPDX,0JZLAB2LAB1:CLCJMPLAB3LAB2:STCLAB3:POPDXPOPCXPOPBXRETIFYEARSENDPCODEENDSENDSTART(2)用汇编程序MASM将ASM文件汇编成目标程序文件(OBJ文件)(3)用连接程序LINK生成可执行程序文件(EXE文件)(4)程序的执行输入年份1990,得到输出结果如下图:三、思考与练

5、习(1)汇编过程中MASMABC和MASMABC.ASM的结果是否一致?答:一致(2)连接过程中LINKABC和LINKABC.OBJ的结果是否一致?答:一致第二部分Debug的使用一、实验要求和目的熟练掌握动态调试程序DEBUG的使用1、实验内容(1) 进入和退出Debug程序(2) 学会Debug中的D命令、E命令、R命令、T命令、A命令、G命令、U命令等的使用。(3)使用Debug调试程序调试汇编程序(4)现有一个双字加法源程序如下,其中存在错误。现假设已汇编、连结生成了可执行文件HB.EXE,存放在d:MA

6、SM目录下。请使用Debug对其进行调试。CodeSEGMENTASSUMECS:code,DS:codeORG100H;从100H处开始存放下列指令Start:MOVAX,code;将DS置成code段的首地址MOVDS,AXMOVSI,200H;取第一个数的首地址MOVAX,[SI];将第一个数的低16位取到AXMOVDI,204H;取第二个数的首地址ADDAX,[DI];第一个数和第二个数的低16应相加MOV[SI+8],AX;低16位相加的结果送到208H和209H单元MOVAX,[SI+2];取第一个数的高

7、16位送到AX中ADDAX,[DI+2];两个数的高16位相加MOV[SI+0AH],AX;高16位相加的结果送到20AH,20BH单元MOVAX,4C00H;使用DOS的4CH号功能调用INT21H;进入功能调用,返回DOSORG200H;从200H处开始存放下列数据DD12345678h,654387A9h,0h;被加数、加数、和CodeENDSENDstart2、实验步骤(1)利用宏汇编对源程序a.asm进行汇编÷连接,生成可执行文件a.exe(2)在DOS提示符下进入debug程序并装入可执行文件a.exe。

8、(3)用R命令观察寄存器初始状态,如下图:(4)用T命令以单步工作方式执行程序前两条指令,装入DS,如下图:(5)用D命令观察用户初始段内容,如下图:(6)用U命令对程序进行反汇编,如下图:(7)以连续工作方式将程序执行到返回DOS前,即执行到011B处并用G命令观察数据段内容,如下图:(8)用E命令修改数据段200-208为CD,AB,78,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。