PIC单片机的多字节减法子程序

来源:本站
导读:目前正在解读《PIC单片机的多字节减法子程序》的相关信息,《PIC单片机的多字节减法子程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《PIC单片机的多字节减法子程序》的详细说明。
简介:本文为实现多字节无符号数减法的程序。

//本程序实现多字节无符号数减法。

//入口参数:减数首地址在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

提醒:《PIC单片机的多字节减法子程序》最后刷新时间 2024-03-14 00:54:42,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《PIC单片机的多字节减法子程序》该内容的真实性请自行鉴别。