ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:322.50KB ,
资源ID:1512128      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1512128.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机实验报告一.doc)为本站会员(gs****r)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

微机实验报告一.doc

1、微机实验报告 1实验名称 Keil 的使用与汇编语言上机操作 成 绩 1、任务要求1.掌握 Keil 环境的使用1)字节拆分、合并:调试 e421.asm 程序, 观察相关寄存器和单元的内容。2)数据块填充:调试 fill.asm 程序,观察相关寄存器和单元的内容。2. 编写多个十六位数的加法程序有 4 个十六位无符号数,连续存放在 20H 开始的片上数据区中,低八位先存,高八位在后。要求:和存于 R3(高八位)和 R2(低八位) ,进位位存于 R4。2、设计思路实验一已给出程序代码,不需要设计,下面阐明实验二,编写多个十六位数的加法程序的设计思路。十六位数相加,先是低八位相加,低八位相加不用

2、考虑进位,所以,此时用 ADD 指 令,但因为在每次循环时都有 CLR C 操作,所以也可以用 ADDC 指令。而且题目中要求将 和的低八位存于 R2,所以将每次低八位相加的和存于 R2,然后从 R2 中取值求和。低八位相加后高八位相加,因为必须处理低位相加的进位问题,所以必须用 ADDC指 令。而且因为要求高位和存于 R3,所以将每次计算的和存于 R3,每次从 R3 中取数跟新 的高八位相加。另外考虑到高位进位的问题,所以必须安排一个地址单元或者寄存器存放最高位,也 正是因为每次循环中,进位都会被处理,所以每次循环开始要 CLR C。3、资源分配4 个十六位无符号数,连续存放在 20H 开始

3、的片上数据区中,低八位先存,高八位在后。微机实验报告 2和存于 R3(高八位)和 R2(低八位) ,进位位存于 R4。R0 和 R1 作为数据指针,存放低八位和高八位的地址。循环次数存于 R5。4、流程图 R2A低八位和存于 R2AA+(R0)低八位相加R0R0+1+1R0指向下一个低八位的地址AR2CLR CR5循环次数R2(20H)R3(21H)R400H寄存器赋值 R020HR121H指针赋初值单元初始赋值开始AR3结束R5R5-1R5=0?R4A进位存于R4AR4+A+C计算高位进位 CLR AR3A高八位和存于 R3AA+(R1)+C高八位及低位 进位相加R1R1+1+1R1指向下一

4、个高八位的地址NOYES5、源代码 (含文件头说明、语句行注释)四个十六位数的加法程序:File name: 3.asmDescription: 四个十六位数的加法程序 微机实验报告 3Date: 2016/09/23Designed by: 陈钰Source used: R0,R1 数据指针R2,R3,R4,R5 寄存器20H-27HORG 0000HLJMP MAINORG 0100HMAIN: MOV R0,#20HMOV R1,#21H ;设数据指针MOV R2,20HMOV R3,21H ;R2(20H),R3(21H)MOV R4,#00H ;最高位进位清零MOV R5,#03H

5、;设置循环次数LOOP: CLR C ;进位清零MOV A,R2 ;AR2INC R0 INC R0 ;R0R0+1+1,R0 指向下一个低八位ADD A,R0 ;AA+(R0),低八位相加MOV R2,A ;R2A,低八位的和存于 R2MOV A,R3 ;AR3INC R1INC R1 ;R1R1+1+1,R1 指向下一个高八位ADDC A,R1 ;AA+(R1)+C,高八位加进位的和MOV R3,A ;R3A,高八位的和存于 R3CLR A ;A 寄存器清零微机实验报告 4ADDC A,R4 ;AA+R4+C,计算进位MOV R4,A ;R4A,进位信息存入 R4DJNZ R5,LOOP

6、;判断 R5 是否等于零判断循环是否结束HERE: SJMP HERE END 6、程序测试方法与结果字节拆分、合并程序:(存于 30H 的数被拆分,分别转为 ASCII 码存于 31H 和 32H,最 后再合并存于 33H)数据块填充程序(将片外 RAM 7000H-70FFH 单元按一定规律填充)四个十六位数的加法程序 输入的数:微机实验报告 5结果:思考题1怎样查看工作寄存器、SFR、片内 RAM、片外 RAM 及程序代码空间内容?Disassembly 窗口有何作用?1) 观察工作寄存器,SFR: 点击 ViewRegisters Window,弹开“Registers”窗口。在此窗口

7、查看。2) 观察 IO 端口,Timer,中断控制寄存器:点击菜单 Peripherals,弹出外设选项栏,选择对应外设,弹出相应外设控制寄存器窗口,即可观察。3) 观察片内 RAM,代码区和片外数据区:点击菜单 View 选择 Memory Windows,在 Address 栏中键入存储空间类型和地址,可以观察到相应内容。Disassembly 窗口显示代码及其相应的机器码,也展示了代码的 PC 地址。2字节拆分、合并还有哪些方法,举一例说明。举例: ORG 0100HMAIN: MOV SP, #40H ;赋堆栈指针MOV 30H, #49H ;30H 单元赋值MOV A, 30HANL

8、 A,#0FH ;拆分出低四位ORL 32H, #30H ;转换为 ASCII MOV A,30H微机实验报告 6ANL A,#0F0HSWAP A ;拆分出高四位ORL A, #30H ;转换为 ASCII MOV 31H, A ;结果存于 31H 单元 HERE: SJMP HERE ;踏步END 3若按递减 1 规律填充数据块,应如何修改程序?将“INC A”改为“DEC A”改后运行结果如下:4若从 7010H 单元开始,连续填充 20 个字节,应该如何修改程序?ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#40HFILL: CLR A ;A 寄存器

9、清零MOV R0, #20 ;设循环计数器MOV DPTR, #7010H ;设数据指针FILL1: MOVX DPTR, A ;传送到片外 RAMDEC A ;A 内容加 1微机实验报告 7INC DPTR ;修改数据指针DJNZ R0, FILL1 ;判断是否结束HERE: SJMP HERE ;原地踏步END 运行结果:5若完成双字节 BCD 码加法,应如何修改程序?在“ADD A,R0”和代码“ADDC A,R1 ”下各加一条代码“DA A” 。输入数据:运行结果:9393+9498+9999+9993=38883 正确本人承诺:本报告内容真实,无伪造数据,无抄袭他人成果。本人完全了解学校相关规定,如若违反,愿意承担其后果。微机实验报告 8其它说明:1.标题:黑体,小四号2. 正文:宋体,五号,1.5 倍行距3.流程图使用 SmartDraw7 或 Visio 软件绘制4.不要加封面

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。