网站大量收购独家精品文档,联系QQ:2885784924

微机原理-语言及其设计要点分析.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  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文档。上传文档
查看更多
研究性学习报告 ——汇编语言及其程序设计 目录 题目一 3 题目分析: 3 程序设计: 3 程序调试: 4 题目二 6 题目分析: 6 程序设计: 7 程序调试: 8 题目三 10 题目分析: 10 程序设计: 11 程序调试: 12 题目四 13 题目分析: 13 程序设计 14 程序调试: 15 题目一 18.编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。 题目分析: 在数据段中定义两个数组,第一个为MBUF,用于存放题目要求的5个数,另一个为NBUF,用于反序存放MBUF中的数。主要利用数据传送指令MOV实现该功能,设计程序流程框图如下 N Y 程序设计: DATA SEGMENT MBUF DW 1,2,3,4,5 NBUF DW 5DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET MBUF MOV DI,OFFSET NBUF MOV CX,4 ADD SI,8 LOP: MOV AX,[SI] MOV [DI],AX DEC SI DEC SI INC DI INC DI LOOP LOP MOV AH,4CH INT 21H CODE ENDS END START 程序调试: 汇编结果 链接结果 TD调试结果 根据运行结果可以看到,数据段中从起始位置开始存放的字分别为1、2、3、4、5,程序运行后,之后的数据段,即NBUF,分别存放的字为5、4、3、2、1,程序运行结果正确。 题目二 20.编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数。 题目分析: 该题的重点是区分数据块中所存数据的正负,即使其和0比较,大于零则为正数,存入数据段相应位置,并将记录正数个数的变量加一;负数同理,最后利用字符显示功能,将存放正负数个数的变量显示在屏幕上,但需要注意的是,这两个变量中存放的为16进制数,如果直接输出,则显示的是其所对应的ASKⅡ码,所以需要转换为相应的数字。程序设计框图如下: 小于零 大于零 N Y 程序设计: DATA SEGMENT ;定义代码段 BUF DB 1,2,-3,-4,-5,6,7,8,-9,10 COUNT EQU $-BUF ;将BUF中数据的个数送入COUNT ZHENG DB ? ;存放正数的个数 FU DB ? ;存放负数的个数 ORG 0010H D1 DB 8 DUP(?) ;正数存放单元 D2 DB 8 DUP(?) ;负数存放单元 DATA ENDS STACK1 SEGMENT STACK DW 100 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,COUNT MOV ZHENG,0 MOV FU,0 MOV SI,OFFSET D1 ;正数存放单元的首地址送SI MOV DI,OFFSET D2 ;负数存放单元的首地址送DI LOP: MOV AL,[BX] CMP AL,0 ;比较[BX]和零 JGE LOP1 ;大于零跳转到LOP1 JLE LOP2 ;小于零跳转到LOP2 LO

文档评论(0)

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

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

1亿VIP精品文档

相关文档