计算机通信接口技术实践课.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实习目的 熟悉与掌握PC汇编语言程序的熟悉环境、输入输出软中断调用、调试和运行方法。 实验任务 (1)编程1:要求按任一个数字、字母键就在屏幕上显示出来,当键入的键为Q时返回DOS; (2)编程2:附图1-1-1流程图编程。 三、实验原理 (一)汇编语言程序的组成 8088汇编语言程序主要由以下几部分组成:代码段、数据段、堆栈断。 1.代码段 代码段是由汇编CPU指令组成的程序部分,这些指令挖成各种任务,如数据传送、实现算术运算功能等等。 代码段的定义形式如下: 段标识符SEGMENT [定位类型] [组合类型] [类别] . . . 段标识符 ENDS [定位类型] [组合类型] [类别] 在一般情况下可以省略不写。一些讲要讲述的数据段、堆栈断的定义形式与上同。 2.数据段 虽然代码断是一个汇编程序必不可少的部分,但是几乎所有是8088汇编语言程序都至少需要一个数据段,用来存放有关数据。 例:以下数据段定义了3个变量(A,B,C)。 DATA SEGMENT 附图1-1-1 流程图 A DB 2 B DB 3 C DW ? DATA ENDS 上述语句中的DB和DW是汇编伪指令,分别定义了两个字节和一个属性为字的存储单元。A存储单元存放数值2,B中存放数字3,而16存储单元C中存放不定值。 3.堆栈段 堆栈是8088体系中的一种特殊类型的存储器,它的特点是“先进后出,后进先出”,即最先入栈的数据最后才弹出。 堆栈段是汇编程序设计中,一般用来保存程序的返回地址,在调用子程序前保存当前各个寄存器的值(也称保存程序现场)。也可以用来临时保存一些变量值。 在段定义SEGMWNT后加上类别为STACK就可以定义一个段为堆栈段。 (二) 汇编语言程序设计 1.简单程序设计 简单程序只具有顺序结构,是按照语句出现的选后次序执行一系列的动作,它没有分支、循环和转换,如附图1-1-2所示。 (2)分支程序设计 在很多实际问题中,往往都需要根据不同的情况进行不同的处理。这种思想体现在程序设计中,就是根据不同条件而跳到不同的程序段去执行,如附图1-1-3所示。 在汇编程语言程序中,判断条件跳转是通过条件转移指令来实现的。例子如下: 例:判断AX的第5是否为1,如果为1将BX内容加1。 TEST AL ;将AL内容与20H相与 JZ NEXT ;如果结果为0,则转入NEXT去执行 INC BX ;如果结果非0,则表示第5位为1,BX内容加1 NEXT:… TEST指令可改变标志位,当AL第5位为1是,AL内容想与的结果是非0,即ZF标志位为0,执行JZ指令时不跳转。反之,当第5位为0时,想与的结果为0,执行JZ指令时则跳转到标号NEXT处。 3.循环程序设计 循环结构是重复做一系列动作,直到满足条件为止,流程图如附图1-1-4所示。一种结构(a)是党某一条件一直成立,则重复做同一个动作或一系列动作,直到条件不成立为止。它是先检查条件,再执行动作。另一种(b)是先执行动作,再检查条件成立与否,因此,这种结构至少要执行循环体内同一次。 循环程序一般分为4个部分: 设置循环的初值。如设置循环次数,为使循环体正常工作而建立的初始状态等。 循环体。循环体是循环工作的主要部分,也是在循环程序中被重复执行的部分,是为完成某种特定功能而设计的程序段。 修改部分。为保证每次循环,相关信息日循环计数器的值、操作数地址等能发生有规律的变化,为下次循环做偶好准备。 循环控制部分。循环控制是循环程序是个户的关键。每个循环程序必须选择一个恰当的循环控制条件来控制循环的运行和结束。有时循环次数是已知的,可使用循环次数计数器来控制:有时循环次数是未知的,则应该根据具体情况设置控制循环结束的条件。 下面举例说明循环程序设计的方法。 例:计算从NTADAD单元开始连接20个数中零的个数。 DATA SEGMENT NDATA DB 20 10 89 67 0 1 76 3 90 87 0 23 67 34 3 2 9 1 0 18 DATA ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DATA START: MOV AX , DATA MOV DS, AX MOV BX,OFFSET NDTAT ;取首地址,建立地址指针

文档评论(0)

eair02 + 关注
文档贡献者

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

1亿VIP精品文档

相关文档