PIC单片机应用开发典型模块_第八章程序2878.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《PIC单片机应用开发典型模块_第八章程序2878.docx》由会员分享,可在线阅读,更多相关《PIC单片机应用开发典型模块_第八章程序2878.docx(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(1)1616位定点数加、减法程序LISTp=16f877INCLUDEp16f877.incACCALOEQU20;存放加数或减数低8位ACCAHIEQU21 ;存放加数或减数高8位ACCBLOEQU23 ;存放被加数或被减数低8位ACCBHIEQU24 ;存放被加数或被减数高8位ORG0X0000STARTGOTOMAIN;*双字节减法子程序,入口地址ACCB-ACCA,出口地址ACCB*D_subCALLNEG_A ;求ACCA的补码;双字节加加法子程程序,入入口地址址ACCCB+AACCAA,出口口地址AACCBBD_adddMOVVFACCCALOO,0 ;AACCBB和ACCCA低
2、低半字节节相加ADDDWFACCCBLLOBBTFSSCSTAATUSS, C ;有进进位否?INNCFACCCBHHI ;有,ACCCB高字字节加11,再加AACCAAHIMOVVFACCCAHII,0 ;ACCCA、AACCBB高半字字节相加加ADDDWFFAACCBBHIRETTURNN ;子程序序返回;ACCAA取补子子程序NEG_AACOOMFACCCALLO;ACCCALOO取反加加1IINCFFAACCAALOBTFFSCSTTATUUS,ZZ;低8位位有进位位吗?DECCFACCCAHII ;有,AACCAAHI减减1,再再取反COMMFACCCAHII ;否则AACCAAHI
3、直直接取反反REETURRN ;子程程序返回回(2)166166位定点点数乘法法程序LISTp=116f8877INCCLUDDEpp16ff8777.inncAACCAALOEQQU20;存放乘乘数低88位AACCAAHIEQQU21;存放乘乘数高88位AACCBBLOEQQU23 ;存放被被乘数低低8位和和乘积第第1623位位ACCCBHHIEQUU224 ;存放被被乘数高高8位和和乘积第第2431位位ACCCCLLOEQUU226 ;存放乘乘积低88位AACCCCHIEQQU27 ;存放乘乘积高88位AACCDDLOEQQU28;临时寄寄存器ACCCDHIIEEQU299;临时寄寄存器T
4、EMMPEQUU22A;临时寄寄存器SIGGNEQUU22B ;存放乘乘积的符符号OORG0X000000STAARTGOTTOMAIINOORG0X001000D_mmpyCALLLS_SSIGNN ;求取乘乘积的符符号,并并对负数数取补CAALLSEETUPP ;调用子子程序,将将ACCCB的值值送ACCCDINCCFTTEMPPCLLRFACCCCHHI;清ACCCCCLRRFACCCCLOOMLOOOPBCFFSSTATTUS,CC;清进位位位RRRFACCCDHHI;ACCCD右移移RRRFACCCDLOOBTTFSCCSSTATTUS,CC;判断是是否需要要相加CALLLD_aad
5、d ;加乘数数至ACCCB,见见加法程程序BBCFSTTATUUS,CC;清进位位位RRRFACCCBHHI ;右移部部分乘积积RRRFACCCBLOORRRFACCCCHIIRRRFACCCCLOODEECFSSZTEMMP;乘法完完成否?GOOTOMLLOOPP;否,继继续求乘乘积BBTFSSSSIGGN,77 ;是,确确定乘积积的符号号GOOTOOVVER ;为正,乘乘法结束束COOMFACCCCLLO ;为负,乘乘积取补补INNCFAACCCCLOBTFFSCSTTATUUS,ZZDEECFAACCCCHICOMMFACCCCHHIBBTFSSCSTTATUUS,ZZNEGG_BDEC
6、CFACCCBLLOCOOMFAACCBBLOBTFFSCSSTATTUS,ZZDEECFAACCBBHICOMMFACCCBHHIOVVERRETTURNN;子程序序返回SETUPPMOOVLWW115;初始化化TEMMP寄存存器MOOVWFFTTEMPPMOOVFACCCBHHI,00 ;ACCCB送AACCDDMOOVWFFACCCDHHIMMOVFFAACCBBLO,00MOOVWFFAACCDDLOCLRRFACCCBHII;清ACCCBCLRRFACCCBLOOREETURRN;子程序序返回S_SIGGNMMOVFFAACCAAHI,00;ACCCAHII异或AACCBBHI,结结
7、果送SSIGNN单元XORRWFACCCBHHI,00MOOVWFFSSIGNNBTTFSSSAACCBBHI,77 ;ACCCB为负负吗?GOTTOCHEEK_AA ;否,检检查ACCCACALLLNNEG_B ;是,求求取ACCCB绝绝对值CCHEKK_ABTFFSCACCCAHHI,77;ACCCA为负负吗?CALLLNEGG_A ;ACCCA为负负,求取取ACCCA绝对对值,RRETUURN ;ACCCA和AACCBB均为正正,返回回(3)166166位定点点数除法程序LISTp=116f8877IINCLLUDEEp116f8777.inncACCCALLOEEQU200;存放除除数
8、低88位ACCCAHHIEQUU221;存放除除数高88位ACCCBLLOEQUU222 ;存放被被除数和和商的低低8位AACCBBHIEQQU23 ;存放被被除数和和商的高高8位AACCCCLOEQQU24;存放余余数低88位ACCCCHHIEQUU225;存放余余数高88位ACCCDLLOEQUU226 ;临时寄寄存器AACCDDHIEQQU27 ;临时寄寄存器TTEMPPEEQU288 ;临时寄寄存器SSIGNNEEQU299;存放商商的符号号ORGG0XX00000STARTTGOOTOMAIINORG00X01100DD_diivCCALLLSS_SIIGN;确定商商的符号号,并将将
9、负数取取补CAALLSETTUP ;初始化化TEMMP,将将被除数数移至AACCDDINNCFTEMMPCCLRFFACCCCHHI;清余数数寄存器器CLLRFACCCCLOODLOOOPBCFFSTTATUUS,CC ;清进位位位RRLFACCCDLOO ;被除数数、余数数左移11位RRLFACCCDHIIRLLFAACCCCLORLFFACCCCHHIMMOVFFACCCAHHI,00 ;ACCCCHII-ACCCAHHISSUBWWFAACCCCHI,00BTTFSSSSTTATUUS,ZZ;ACCCCHII=ACCCAHHI?GOTTONNOCHHKMMOVFFACCCALLO,00;
10、是,AACCCCLO-ACCCALOOSUUBWFFACCCCLLO,00NOCCHKBTFFSSSTAATUSS,C;ACCCCAACCAA?GGOTOONOOGOMOVVFAACCAALO,00 ;是,余余数减除除数SSUBWWFAACCCCLOBTFFSSSTAATUSS,CDECCFAACCCCHIMOVVFAACCAAHI,00SUUBWFFACCCCHHIBBSFSTAATUSS,C ;置进位位位NOOGORLFFACCCBLLO ;商左移移1位RLFFACCCBHHIDDECFFSZTEMMP ;循环完完毕?GOTTODDLOOOPBBTFSSSSIGGN,77 ;是,确确定商的
11、的符号GOTTODIVVOVEER ;为正,除除法结束束,跳转转到结束束行CCOMFFAACCCCLO ;为负,商商和余数数分别取取补IINCFFAACCCCLOBTFFSCSTAATUSS,ZDECCFACCCCHIICOOMFACCCCHHICCALLLNEEG_BB;见乘法法程序中中间NEEG_BBDIVVOVEERRRETUURN ;子程序序返回S_SIGGNMMOVFFAACCAAHI,00;ACCCAHII异或AACCBBHI,结结果送SSIGNN单元XORRWFACCCBHHI,00MOOVWFFSSIGNNBTTFSSSAACCBBHI,77 ;ACCCB为负负?GGOTOOC
12、CHEKK_A ;否,检检查ACCCACOMMFACCCBLOO ;是,AACCBB取补INCCFACCCBLOOBTTFSCCSSTATTUS,ZZDEECFACCCBHHICCOMFFAACCBBHICCHEKK_ABTFFSCACCCAHHI,77;ACCCA为负负?CCALLLNNEG_A ;ACCCA为负负,取补补(NEEG_AA子程序序请参见见 ;1616位位定点数数乘法子子程序NNEG_A)RETTURNN ;ACCCA和AACCBB均为负负,返回回(4)浮点点数加减减法程序序LISTpp=166f8777IINCLLUDEEp166f8777.iincACCCALOOEQUU2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PIC 单片机 应用 开发 典型 模块 第八 章程 2878
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内