- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理实验报告5摘要
实 验 报 告
课程名称:《微机原理》实验 第5次实验
实验名称:双字节无符号数除法
实验时间:2015年10月16日
实验地点:XXXXXX组号__________
学号:XXXX
姓名:XXX
指导老师:XX 评定成绩:___________
微机原理实验5
南京大学工程管理学院
一、实验设备:
计算机
二、实验用时:
4小时
三、实验内容:
编写子程序Bin2BCD,实现二进制数到压缩BCD码的转换。待转换的二进制数存放在w寄存器内,子程序调用完成后得到的BCD码仍存放在w寄存器内返回。例如
movlw .45; w=45
call Bin2BCD;
nop ;w=0x45
编写Main主程序,对编写的子程序进行测试。
编写子程序Div_16,实现双字节无符号数除法。自行定义变量,其中:
ACCALO ;存放被除数低 8 位
ACCAHI ;存放被除数高 8 位
ACCBLO ;存放除数 8 位
ACCCLO ;存放余数 8 位
ACCCHI ;存放商 8 位
四、实验报告要求:
程序框图和源程序清单
五、实验结果:
1、程序框图
(1)编写子程序Bin2BCD,实现二进制数到压缩BCD码的转换
否
是
否
是
是
否
(2)编写子程序Div_16,实现双字节无符号数除法
是 否
是 否
是 否
是
否
2、源程序清单
(1)编写子程序Bin2BCD,实现二进制数到压缩BCD码的转换
list p=16f877A ; list directive to define processor
#include p16f877A.inc ; processor specific variable definitions
__CONFIG _CP_OFF _WDT_OFF _BODEN_OFF _PWRTE_OFF _HS_OSC _WRT_OFF _LVP_OFF _CPD_OFF
MA EQU 0x20;
MAHI EQU 0x21;MB高4位
MALO EQU 0x22;MB低4位
MB EQU 0x23;保存最终结果
TEMP1 EQU 0x24;0x03
TEMP2 EQU 0x25;0x30
COUNT EQU 0x26;0x07
ORG 0x0000 ; 复位入口地址
nop ; 兼容ICD调试工具,必须加nop
goto Main ; 跳转至Main函数
Main
MOVLW .76;
MOVWF MA;
MOVLW 0x00;
MOVWF MB;
MOVLW 0x03;
MOVWF TEMP1;
MOVLW 0x30;
MOVWF TEMP2;
MOVLW 0x07;
MOVWF COUNT;
CALL Bin2BCD;
RLF MA;
RLF MB;
NOP;
GOTO $;
Bin2BCD
RLF MA;
RLF MB;
MOVLW 0x0f;
ANDWF MB,w;
MOVWF MALO;
MOVLW 0x05;
BCF STATUS,C;
SUBWF MALO,f;
BTFSC STATUS,C;
CALL ADD_1;
nop;
MOVLW 0xf0;
ANDWF MB,w;
MOVWF MAHI;
MOVLW 0x50;
BCF STATUS,C;
SUBWF MAHI,f;
BTFSC STATUS,C;
CALL ADD_2;
nop;
DECFSZ COUNT,f;
GOTO Bin2BCD;
return;
ADD_1
MOVF TEMP1,w;
ADDWF MB,f;
文档评论(0)