微机原理(循环程序设计)..doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理(循环程序设计).

洛阳理工学院实验报告 系别 计算机 班级 B100505 学号 姓名 张勋 课程名称 微机原理与接口技术 实验日期 4.23 实验名称 循环程序设计 成绩 实验目的:1、加深对循环结构的理解; 2、掌握循环程序的设计方法; 3、学会用DEBUG调试程序。 实验条件:1、计算机一台 2、MASM for Windows 或者 MASM5.0以上编译环境 实验内容: 一、 试验题目: 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 2.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。 二、 试验程序: 1.汇编程序如下: DATA SEGMENT BUF DW -2,3,14,-4,8,-2,11,25 BUF1 DW 8 DUP(0) BUF2 DW 8 DUP(0) A DW ? B DW ? DATA ENDS STACK SEGMENT PARA STACK STACK DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, ES: DATA, SS: STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX XOR DX,DX MOV CX,8 MOV DI,OFFSET BUF MOV SI,OFFSET BUF1 MOV BX,OFFSET BUF2 BEGIN:MOV AX,[DI] CMP AX,0000H JGE F1 MOV [BX],AX INC BX INC BX JMP F2 F1: MOV [SI],AX INC DL INC SI INC SI F2: INC DI INC DI LOOP BEGIN MOV DI,OFFSET A MOV SI,OFFSET B MOV [DI],DL MOV DH,8 SUB DH,DL MOV [SI],DH MOV AH,4CH INT 21H CODE ENDS END START 已知有5个正数,3个负数,则DH、DL分别为03和05,运行程序结束后,查询这两个区域,运行结果如图: 2.汇编程序如下: DATA SEGMENT COUNT DB ? TOTAL DB ? DATA ENDS STACK SEGMENT PARA STACK STACK DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA,ES:DATA, SS: STACK START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET COUNT MOV SI,OFFSET TOTAL XOR DX,DX XOR AX,AX BEGIN: INC DX ADD AX,DX CMP AX,55 JBE BEGIN MOV [SI],AX MOV [DI],DX MOV AH,4CH INT 21H CODE ENDS END START 用AX来存放TOTOL,DX存COUNT,运行结果如图: 实验总结: 通过本次实验,对循环结构程序设计能熟练掌握并且应用,同时弥补了一些没有注意到的细节,比如取某段数据首地址,偏移量等语句的使用,通过练习操作,相信会对及汇编的学习大有帮助

文档评论(0)

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

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

1亿VIP精品文档

相关文档