微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机4位16进制数除于4位16进制数子程序

PIC单片机4位16进制数除于4位16进制数子程序

时间:11-29 来源:互联网 点击:
;**************************************************************
;   除法子程序;/*************************************************************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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top