PIC单片机的多字节减法子程序
时间:2023-09-25 22:57 来源: 作者: 点击:次
;本程序实现多字节无符号数减法。 ;入口参数:减数首地址在DADR中,被减数首地址在SADR中,字节数在CNT中。 ;出口参数:结果首地址在SADR中,字节数在CNT中,借位标志在STATUS:C中,'0'表示有借位。 ;占用资源:W,FSR,STATUS,020H,021H,022H,023H,028H,029H,一重堆栈。 ;说明: 1.程序执行后,被减数被冲掉。 IFNDEF MUSUB1 #DEFINE MUSUB1 MUSUB MOVF SADR,W MOVWF SADRH ;保护结果首地址 CLRF TEMP2 ; DECF TEMP2,F ;清除借位 NEXT4 MOVF DADR,W MOVWF FSR MOVF INDF,W ;取出减数 MOVWF TEMP1 ;暂存 MOVF SADR,W MOVWF FSR MOVF TEMP1,W SUBWF INDF,F RLF TEMP2,F ;暂存当前借位,并使上一次借位前移 BSF STATUS,C ;清除借位 MOVLW 1 BTFSS TEMP2,1 SUBWF INDF,F BTFSS STATUS,C ;减借位位的过程中是否产生了借位 BCF TEMP2,0 INCF DADR,F INCF SADR,F DECFSZ CNT,F GOTO NEXT4 MOVF SADRH,W SUBWF SADR,W MOVWF CNT ;恢复字节数 MOVF SADRH,W MOVWF SADR ;结果首地址 RRF TEMP2,W ;借位位放到C中 RETLW 0 ENDIF (责任编辑:admin) |
- 上一篇:基于单片机的共享控制器的设计
- 下一篇:浅析交通抓拍和视频监控前端传感器技术