下载此文档

微机实验报告一.doc


文档分类:高等教育 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
)字节拆分、合并:,观察相关寄存器和单元的内容。2)数据块填充:,观察相关寄存器和单元的内容。,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),进位位存于R4。设计思路实验一已给出程序代码,不需要设计,下面阐明实验二,编写多个十六位数的加法程序的设计思路。十六位数相加,先是低八位相加,低八位相加不用考虑进位,所以,此时用ADD指令,但因为在每次循环时都有CLRC操作,所以也可以用ADDC指令。而且题目中要求将和的低八位存于R2,所以将每次低八位相加的和存于R2,然后从R2中取值求和。低八位相加后高八位相加,因为必须处理低位相加的进位问题,所以必须用ADDC指令。而且因为要求高位和存于R3,所以将每次计算的和存于R3,每次从R3中取数跟新的高八位相加。另外考虑到高位进位的问题,所以必须安排一个地址单元或者寄存器存放最高位,也正是因为每次循环中,进位都会被处理,所以每次循环开始要CLRC。资源分配4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。和存于R3(高八位)和R2(低八位),进位位存于R4。R0和R1作为数据指针,存放低八位和高八位的地址。循环次数存于R5。流程图源代码(含文件头说明、语句行注释)四个十六位数的加法程序:Filename::四个十六位数的加法程序Date:2016/09/23Designedby:陈钰Sourceused:R0,R1数据指针R2,R3,R4,R5寄存器20H- 0000H 0100HMAIN: MOVR0,#20H MOVR1,#21H;设数据指针 MOVR2,20H MOVR3,21H;R2←(20H),R3←(21H) MOVR4,#00H;最高位进位清零 MOVR5,#03H;设置循环次数LOOP: CLRC;进位清零 MOVA,R2;A←R2 INCR0 INCR0;R0←R0+1+1,R0指向下一个低八位 ADDA,***@R0;A←A+(R0),低八位相加 MOVR2,A;R2←A,低八位的和存于R2 MOVA,R3;A←R3 INCR1 INCR1;R1←R1+1+1,R1指向下一个高八位 ADDCA,***@R1;A←A+(R1)+C,高八位加进位的和 MOVR3,A;R3←A,高八位的和存于R3 CLRA;A寄存器清零 ADDCA,R4;A←A+R4+C,计算进位 MOVR4,A;R4←A,进位信息存入R4 DJNZR5,LOOP;判断R5是否等于零判断循环是否结束 HERE: SJMPHERE END程序测试方法与结果字节拆分、合并程序:(存于30H的数被拆分,分别转为ASCII码存于31H和32H,最后再合并存于33H)数据块填充程序(将片外RAM7000H-70FFH单元按一定规律填充)四个十六位数的加法程序输入的数:结果:思考题怎样查看工作寄存器、SFR、片内RAM、片外RAM及程序代码空间内容?Disassembly窗口有何作用?1)观察工作寄存器,SFR:点击ViewàRegistersWindow,弹开“

微机实验报告一 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人乘风破浪
  • 文件大小274 KB
  • 时间2019-05-19