8086 汇编语言分支程序设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

汇编语言程序设计实验报告

学院:计算机科学与技术专业:计算机科学与技术班级:计科131

姓名

学号

实验组

实验时间

指导教师

肖敏

成绩

实验项目名称

实验三:8086汇编语言分支程序设计

实验目得

熟悉分支程序得调试方法。

实验原理

对汇编源程序进行汇编、链接,在Debug环境下完成调试与运行.

实验内容

编写一个程序,显示AL寄存器中得两位十六进制数

实验环境

1、硬件:微型计算机1台

2、软件:MASM软件

实验步骤

实验一:编程实现在显示器上输出AL中得内容:

1、源程序如下所示,编辑下面得源程序到文件three、asm中:

CODESEGMENT

ASSUMECS:CODE

START:MOVAL,3EH;此处假设为3EH

MOVBL,AL

MOVDL,AL

MOVCL,4

SHRDL,CL

CMPDL,9

JBENEXT1

ADDDL,7

NEXT1:ADDDL,30H

MOVAH,2

INT21H;显示高位ASCII码

MOVDL,BL

ANDDL,0FH

CMPDL,9

JBENEXT2

ADDDL,7

NEXT2:ADDDL,30H

MOVAH,2

INT21H;显示低位ASCII码

MOVAH,4CH

INT21H

CODEENDS;返回DOS

ENDSTART

使用相应得文本编辑器建立文件three、asm,内容如上所示。

2、生成可执行文件:

1〉、汇编:

C:\masm〉masmthree;

2、连接:

C:\masm〉linkthree;

3、运行及调试:

1、运行:

C:\masmdebugthree、exe

—U0;通过反汇编查找程序得断点

-T=02;加载数据段

-D0;查瞧原始数据就是否正确

-G=0XX;运行程序至断点XX处

—R;查瞧程序运行结果

以上命令执行得细节可参照实验二中得说明.

4.调试:

修改AL得内容,判断此程序就是否能正确显示其中得内容得方法.

例:修改AL内容为9AH:

—L;重新加载可执行文件

-A0;重新修改MOVAL,3EH指令

361E:0000MOVAL,9A

361E:0002

-G=0xx;带断点运行

—R;查瞧程序运行结果

实验二:编写一个数据区移动程序,要考虑源数据区与目得数据区有重叠得情况。

1、源程序如下所示,编辑下面得源程序到文件lab、asm中:

使用相应得文本编辑器建立文件lab、asm,内容如上所示。

2、生成可执行文件:

1、汇编:

C:\masm〉masmlab;

2〉、连接:

C:\masmlinklab;

3、运行及调试:

1、运行:

C:\masm>debuglab、exe

-U0;通过反汇编查找程序得断点

-T=02;加载数据段

-D0;查瞧原始数据就是否正确

-G=0XX;运行程序至断点XX处

-R;查瞧程序运行结果

实验三:编程完成一个字符串得统计,要求分别统计出字母、数字、其它字符得个数。

1、源程序如下所示,编辑下面得源程序到文件lab1、asm中:

DATASEGMENT

NUMBERDB0

CHARDB0

RESTDB0

STR1DB’NUMBER:,'$'

STR2DB'CHAR:’,’$’

STR3DB'REST:’,$

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:

MOVAX,DATA

MOVDS,AX

AGAIN:

MOVAH,1

INT21H

CMPAL,0DH

JZEXIT

CMPAL,'0

JNLNEXT1

INCREST

JMPAGAIN

NEXT1:

CMPAL,9

JBEN1

CMPAL,65

JNLNEXT2

INCREST

JMPAGAIN

NEXT2:

CMPAL,90

JBEN2

CMPAL,97

JNLNEXT3

INCREST

JMPAGAIN

NEXT3:

CMPAL,122

JBEN2

JMPAGAIN

N1:

INCNUMBER

JMPNUMBER

JMPAGAIN

N2:

INCCHAR

JMPAGAIN

EXIT:

LEADX,STR1

MOVAH,09H

INT21H

MOVDL,NUMBER

ADDDL,30H

MOVAH,2

I

文档评论(0)

jydlssh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档