|
;********************SUDIV******************** ;本程序?qū)崿F(xiàn)單字節(jié)無(wú)符號(hào)數(shù)除法。 ;入口參數(shù):被除數(shù)在SOU中,除數(shù)在RLT中。 ;出口參數(shù):商在SOU中,余數(shù)在SOUH中. ;占用資源:W,STATUS,023H,024H,025H,026H,028H,一重堆棧。 ;說(shuō) 明: 用戶(hù)在調(diào)用該子程序之前必須確定除數(shù)不為零,否則得不到正確結(jié)果. IFNDEF SUDIV1 #DEFINE SUDIV1 SUDIV MOVLW 8 ;循環(huán)8次 MOVWF CNT MOVF SOU,w MOVWF TEMP1 ;TEMP1暫存被除數(shù) CLRF SOU CLRF SOUH LOOP78 BCF STATUS,C RLF TEMP1,F RLF SOUH,F MOVF RLT,W SUBWF SOUH,W ;判斷是否SOUH>RLT BTFSC STATUS,C MOVWF SOUH ;SOUH=SOUH-RLT RLF SOU,F DECFSZ CNT,F GOTO LOOP78 RETLW 0 ENDIF 12345678910下一頁(yè) GO |