微机试验报告一.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  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文档。上传文档
查看更多
精选资料,欢迎下载 精选资料,欢迎下载 实验名称 Keil 的使用与汇编语言上机操作 成绩 一、 任务要求 掌握Keil环境的使用 )字节拆分、合并:调试 e421.asm程序, 观察相关寄存器和单元的内容。 )数据块填充:调试 fill.asm 程序,观察相关寄存器和单元的内容。 编写多个十六位数的加法程序 有4个十六位无符号数,连续存放在 20H开始的片上数据区中,低八位先存,高 八位在后。要求:和存于 R3 (高八位)和 R2 (低八位),进位位存于 R4。 二、 设计思路 实验一已给出程序代码, 不需要设计,下面阐明实验二,编写多个十六位数的加法程 序的设计思路。 十六位数相加,先是低八位相加,低八位相加不用考虑进位,所以,此时用 ADD旨 令,但因为在每次循环时都有 CLRC操作,所以也可以用 ADDC旨令。而且题目中要求将 和的低八位存于 R2,所以将每次低八位相加的和存于 R2,然后从R2中取值求和。 低八位相加后高八位相加,因为必须处理低位相加的进位问题,所以必须用 ADDC旨 令。而且因为要求高位和存于 R3,所以将每次计算的和存于 R3,每次从R3中取数跟新 的高八位相加。 另外考虑到高位进位的问题, 所以必须安排一个地址单元或者寄存器存放最高位 ,也 正是因为每次循环中,进位都会被处理,所以每次循环开始要 CLR Co 三、 资源分配 4个十六位无符号数,连续存放在 20H开始的片上数据区中,低八位先存,高 八位在后。 和存于R3 (高八位)和 R2 (低八位),进位位存于 R4o R0 和R1作为数据指针,存放低八位和高八位的地址。 循环次数存于R5。 四、 流程图 軌元初始賦值 RO—20H 指謝賦初值 NO YES R4—A 进屜存^K4 R2*-(20H) (2111) R4—Q0H 寄存器赋值 i 五、源代码 (含文件头说明、语句行注释) 四个十六位数的加法程序: File n ame: 3.asm Descripti on: 四个十六位数的加法程序 Date: 2016/09/23 Desig ned by: 陈钰 Source used: R0,R1 数据指针 寄存器 R2,R3,R4,R5 精选资料,欢迎下载 精选资料,欢迎下载 20H-27H ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R0,#20H ORG 0100H MAIN: MOV R0,#20H MOV R1,#21H MOV R2,20H MOV R3,21H MOV R4,#00H MOV R5,#03H ;设数据指针 ;R= (20H),R3 — (21H) ;最高位进位清零 ;设置循环次数 LOOP: CLR C ;进位清零 MOV A,R2 ; A—R2 INC R0 INC RO ; RZ RO+1 + 1, RO指向下一个低八位 ADD A,@R0 ; A—A+(R0), 低八位相加 MOV R2,A ; R2^ A,低八位的和存于 R2 MOV A,R3 ; A—R3 INC R1 INC R1 ; R1— R1+1 + 1, R1指向下一个高八位 ADDC A,@R1 ; A— A+(R1)+C,高八位加进位的和 MOV R3,A ; RAA,高八位的和存于 R3 CLR A ; A寄存器清零 ADDC A,R4 ; A— A+R4+C 计算进位 MOV R4,A ; R4^A,进位信息存入 R4 DJNZ R5,LOOP ;判断R5是否等于零判断循环是否结束 精选资料,欢迎下载 精选资料,欢迎下载 HERE: SJMP HERE END 六、程序测试方法与结果 字节拆分、合并程序:(存于30H的数被拆分,分别转为 ASCII码存于31H和32H,最 后再合并存于33H) Address: |d:3Qi D:0x30:0 : 3弓 D:0x32:2 : 39 佔 D:0x34:4 : 00 00 数据块填充程序(将片外 RAM 7000H-70FFH单元按一定规律填充) X: 0x007000 00 01 02 03 04 05 0€ 07 OS 09 OA OE oc OD OE X: 0x00700F OF IQ 11 12 13 14 IS 16 17 IS 19 1A IB 1C ID X : OkGO^O^E IE IF 20 21 22 23 25 26 27 25 29 2A 2B 2C X : 0x00^02D 2D 2E 2F 30 31 32 33 34 3S 36 37 38 39 3A 3B X: OXO07Q3C 3C 3D 3E 3F 40 41 42 43 X 45 46 47 4S 49 4A X: 0x007043 4B 4C 4D 4F

文档评论(0)

156****0502 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档