北交大微机原理性学习报告-语言及其程序设计试题.docx

北交大微机原理性学习报告-语言及其程序设计试题.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档,知识共享! 研究性学习报告 —汇编语言及其程序设计 目录 TOC \o 1-5 \h \z 湘题目一- 3 题目分析: 3 程序设计: 3 程序调试: 4 题目二: e 题目分析: 3 程序设计: 3 程序调试:: 8 题目三: 10 HYPERLINK \l bookmark2 \o Current Document 题目分析: 10 程序设汁: 11 程序调试: 12 题目四 13 HYPERLINK \l bookmark6 \o Current Document 题目分析: 13 程序设汁 14 HYPERLINK \l bookmark26 \o Current Document 程序调试: 15 题目一 18.编写程序,将MBUF为起始承元的5个数按相反次序传送到NBUF开始的存储单元中。 题目分析: 在数据段中定义两个数组,第一个为MBUF.用子存放题B要求的5个数.另一个为 NBUF,用于反序存放MBUF中的数。主要利用数据传送指令MOV实现该功能,设计程序 流程框阁如下 辦设计: 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 Dl,OFFSET NBUF MOV CX,4 ADD Sl,8 LOP: MOV AX,[SI] MOV (DI],AX DEC SI DECS! INCDI INC Dl LOOP LOP MOV AH,4CH INT21H CODE ENDS END START 程序调试: 1、汇编结果 E:\MASM615LINK 18.OBJ E:\MASM615LINK 18.OBJ Microsoft R Segmented Executable Linker Ucrsion 5.60.339 Dec 5 1994 Copyright C Microsoft Co?*p 1984-1993. fill rights t*eserved. E:\f1flSri615 3、TD调试结果 精品文档,知识共享! :0003 8ED8 :0005 BE0000 :0008 BF0A00 :000B B90S00 :000E 83C608 :0011 8B04 :0013 8905 :0015 4E :0016 4E :0017 47 :0018 4? ds^ax si,0000 di,000fl cx,0005 si,0008 ds^ax si,0000 di,000fl cx,0005 si,0008 ax^[si] [di】,ax nou nov nov 报据运行结采可以者到,数据段中从起始位置开始存放的字分别为1、2、3、4、5, 程序运行后,之后的数据段,即NBUF,分别存放的字为5、4、3、2、1,程序运行结采正 精品文档,知识共享! 题目二 20.编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数 据段的两个缓冲区中,并在屏蘇上显示正数和负数的个数。 题目分析: 该题的重点是区分数据块中所存数据的正负,即使其和0比较,大子零则为正数,存 入数据段相应位S,并将记录正数个数的变fi加一:负数同理.最后利用字符显示功能. 将存放正负数个数的变虽显示在屏薛上,但盅要注意的是,这两个变虽中存放的为16进制 数,如果直接输出,则显示的是其所对应的ASK丨丨码,所以耑要转换为相应的数字。程序 设计框阁如下: 辦设计: 结束 DATA SEGMENT ;定义代码段 BUF DB l,2,-3,-4,-5,6,7,8,-9,10 COUNT EQU $-BUF ;将BUF中数据的个数送入COUNT ZHENG DB ? ;存放正数的个数 FUDB? ORG 0010H ,?存放负数的个数 D1DB8DUP(?) D2 DB8DUP(?) DATA ENDS STACK1 SEGMENT STACK DW 100 DUP(?) STACK1 ENDS ;正数存放单元 ;负数存放单元 CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKl 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 D丨,OFFSET D2 ;负数存放取元的首地址送Dl LOP:MOVAL,[BXJ CMP AL,0 J

文档评论(0)

哆啦 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档