;**************************************************************
; 除法子程序;/*************************************************************CF1 MOVLW 0FFH;被除数MOVWF 70H ;被除数高8位寄存器 MOVLW 0FFH;被除数MOVWF 71H;被除数低8位寄存器MOVLW 00HMOVWF 72H ;余数高8位寄存器MOVLW 00HMOVWF 73H ;余数低8位寄存器MOVLW 00HMOVWF 74H;商高8位寄存器MOVLW 00HMOVWF 75H;商低8位寄存器MOVLW D0;除数MOVWF 76H;除数高8位寄存器MOVLW D2;除数MOVWF 77H;除数低8位寄存器MOVLW D16MOVWF 7AHCF2 RLF 71H,1;先把移低字节移到高字节位RLF 70H,1;先处理高字节和接纳低字节传上来的位字节RLF 73H,1;把移出来的数处理RLF 72H,1;把移出来的数处理MOVFW 77HSUBWF 73H,0;先减低字节8位MOVWF 7BH;暂时保存余数MOVFW 76HBTFSS STATUS,C;判别是否有借位减法指令只影响C不受C影响INCF 76H,0;是被减数加1SUBWF 72H,0 ;再减高8位 BTFSS STATUS,C;判别巨细大则保存余数到R2,R3GOTO CF3MOVWF 72H ;保存高八位余数MOVFW 7BHMOVWF 73H;保存低八位余数;因为除数为4位16进制数所以余数有或许超越2位16进制数要用2个寄存器CF3 RLF 75H,1;先把存到低字节位RLF 74H,1;通过低字节存到高字节DECFSZ 7AH,1;判别是否完结GOTO CF2 RETURN