微机原理实验3.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学 生 实 验 报 告 学 院: 软件与通信工程学院课程名称: 微机原理与接口技术专业班级: 电信 141 班 姓 名: 学 号: 学生实验报告(1) 学生姓名 学生姓名 学号 同组人:无 实验项目 实验 3 ■必修 □选修 □演示性实验 □验证性实验 ■操作性实验 □综合性实验 实验地点 实验仪器台号 指导教师 实验日期及节次 一、实验综述 1、实验目的及要求实验目的 利用测试与转移指令实现分支。 利用比较与转移指令实现分支。 实验要求 利用测试与转移指令实现分支。 程序设计方法:在需要分支的地方用逻辑测试指令TEST 进行分支条件的测试判断, 再利用各种条件转移指令实现程序分支。 利用比较与转移指令实现分支。 程序设计方法:在需要分支的地方用两数的比较指令 CMP,或串比较指令 CMPS 等进行分支条件的比较判断,再利用转移指令(如 JNZ、JNC、JA、JB 等)实现程序的分支。 实验内容: 1.在 BLOCK 开始的内存单元中有若干以字节为单位的正、负数,自编程序,试统计其中≧0 的个数存放于 M_DATA 单元中,0 的个数存放于 P_DATA 单元中。2.在 BLOCK 开始的内存单元中有若干以字节为单位的奇、偶数,自编程序,试统计其中偶数的个数存放于 M_DATA 单元中,奇数的个数存放于 P_DATA 单元中。 2、实验仪器、设备或软件 电脑,Masm for windows 集成实验环境共享版 2015,DOSBOX 二、实验过程(实验步骤、记录、数据、分析) 打开电脑,打开 Masm for windows 集成实验环境共享版 2015、新建一个空白的汇编程序,开始编写程序 实验 1: DATA SEGMENT ORG 1000H BLOCK DB 37,-90,-32,60,-7,-120 COUNT EQU $-BLOCK ORG 2000H P_DATA DB COUNT DUP (0) ORG 3000H M_DATA DB COUNT DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,BLOCK;待判断的数据 LEA DI,P_DATA;存放0 的数据区域LEA BX,M_DATA;存放0 的数据区域MOV CX,COUNT NEXT: MOV AL,[SI] CMP AL,00H JGE L1;ZF=1,为0 的数转 L1 MOV [BX],AL ;ZF=0,存0 的数INC BX JMP LOOP1 L1: MOV [DI],AL;存0 的数到 M_DATA INC DI LOOP1: INC SI;判断下一个数据 LOOP NEXT ;CS-1=CS≠0继续处理MOV AH,4CH INT 21H CODE ENDS END START 实验 2: DATA SEGMENT ORG 1000H BLOCK DB 3,7,2,6,17,0 COUNT EQU $-BLOCK ORG 2000H P_DATA DB COUNT DUP (0) ORG 3000H M_DATA DB COUNT DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,BLOCK;待判断的数据 LEA DI,M_DATA;存放偶数LEA BX,P_DATA;存放奇数MOV CX,COUNT NEXT: MOV AL,[SI] TEST AL,01H;测试末位数据是否为 0 JZ L1;等于 0 为偶数转 L1 MOV [BX],AL;不等于 0 为奇数存 p_data 区域INC BX JMP LOOP1 L1: MOV [DI],AL;等于 0 为偶数存 m_data 区域INC DI LOOP1: INC SI;判断下一个数据LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START 三.结论1.实验结果实验 1: 实验 2: 2、分析讨论 利用比较与转移指令实现分支,分别存放至数据区域,调试过程先 u 反汇编,使用g 指令进行运行到终止地址处,使用 d:ds=地址地址 地址长度显示结果,且实验结果正确。 思考题 1、如果将比较指令改为测试指令(加下划线处),程序需做哪些改动? 2、将上述程序修改实现单元中数据奇数、偶数个数的统计。 改动部分如下划线处所示: 思考题 1: 实验 1 DATA SEGMENT ORG 1000H BLOCK DB 37,-90,-32,60,-7,-12=0 COUNT

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档