单片机多字节BCD码减法(2页).doc
《单片机多字节BCD码减法(2页).doc》由会员分享,可在线阅读,更多相关《单片机多字节BCD码减法(2页).doc(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-;入口条件:字节数在R7中,被减数在R0中,减数在R1中。 ;出口信息:差在R0中,最高位借位在CY中。 ;影响资源:PSW、A、R2、R3 A-B=A+(B)补99-66=33 -99+(100-66)=99+34=133 BCDB:LCALLNEG1 ;减数R1十进制取补 LCALLBCDA ;按多字节码加法处理 CPL C ;将补码加法的进位标志转换成借位标志 MOVF0,C;LCALLNEG1 ;恢复减数R1的原始值 MOVC,F0 ;恢复借位标志 RET NEG1:MOVA,R0 ;R1十进制取补子程序入口 A- R0XCHA,R1 ;交换指针 A-R1,R1-R0 XCHA,R0
2、 A-R0,R0-R1LCALLNEG ;通过R0实现R1取补 MOVA,R0 A-R0XCHA,R1 ;换回指针 A-R1, R1-R0XCHA,R0 A-R0, R0-R1RET ;多字节码取补 NEG:MOVA,R7 ;取(字节数减一)至R2中 A-R7 DECA A-(R7-1) MOVR2,A R2-AMOVA,R0 A-R0MOVR3,A R3- R0NEG0:CLRC MOVA,#99H SUBBA,R0 ;按字节十进制取补 MOVR0,A ;存回R0中 INCR0 ;调整数据指针 DJNZR2,NEG0 ;处理完(R2)字节 MOVA,#9AH ;最低字节单独取补 SUBBA,R0 MOVR0,A MOVA,R3 ;恢复指针 MOVR0,A RET ;多字节BCD码加法 BCDA:MOV A,R7;取字节数至R2中 MOVR2,A ADDA,R0 ;初始化数据指针 MOVR0,A MOVA,R2 ADDA,R1 MOVR1,A CLRC BCD1:DECR0 ;调整数据指针 DECR1 MOVA,R0 ADDCA,R1 ;按字节相加 DAA ;十进制调整 MOVR0,A ;和存回R0中 DJNZR2,BCD1 ;处理完所有字节 RET-第 2 页-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 多字 BCD 减法
限制150内