PIC16F877 program to find the square root of a given number

PIC16F877 program to find the square root of a given number

Write an assembly level program for PIC16F877 to find the square root of a given number.

Method: successive subtraction of odd numbers. ROOT increments while NUM ≥ (2·ROOT+1). ROOT holds ⌊√NUM⌋.


; Integer Square Root for 8‑bit NUM on PIC16F877
        LIST P=16F877
        INCLUDE <P16F877.INC>
        __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF

        CBLOCK 0x20
NUM     ; input
ROOT    ; result
TEMP
        ENDC

        ORG 0x0000
        GOTO START

START:
        MOVLW .100
        MOVWF NUM
        CLRF ROOT

LOOP_SQRT:
        MOVF ROOT, W      ; W=ROOT
        ADDWF ROOT, W     ; W=2*ROOT
        ADDLW 1           ; W=2*ROOT+1
        MOVWF TEMP

        MOVF NUM, W
        SUBWF TEMP, W     ; if NUM < TEMP -> done
        BTFSS STATUS, C
        GOTO DONE

        MOVF TEMP, W
        SUBWF NUM, F      ; NUM -= TEMP
        INCF ROOT, F
        GOTO LOOP_SQRT

DONE:
        ; ROOT = floor(sqrt(NUM))
        END

Join EEE Made Easy Telegram channel

Join EEE Made Easy Whatsapp Channel

Download & Install EEE Made Easy App

Books for Microcontroller 8051

  1. KSEB Sub Engineer and AE Books
  2. The 8051 Micro controller 3rd Edition,by Kenneth Ayala
  3. The 8051 Microcontrollers & Embedded Systems, by Mazidi
  4. 8051 MICROCONTROLLER AND APPLICATIONS FOR BSC
  5. Microcontroller & Embedded Systems for BE

More on Microcontrollers

  1. Features of AVR|AVR Microcontrollers
  2. 8051 ARCHITECTURE|8051 Microcontroller Architecture
  3. 8051 Microcontroller Architecture|RISC and CISC CPU Architectures|HARVARD & VON- NEUMANN CPU Architecture
  4. Microprocessor VS Microcontroller| Comparison of Microprocessor and Microcontroller|Difference between Microprocessor and Microcontroller
  5. Addressing modes of 8051 Microcontroller|8051 Addressing Modes
  6. 8051 Microcontroller Instruction Set|KSEB Sub Engineer Notes
  7. 8051 Microcontroller MCQ|8051 Questions and Answers
  8. Microcontroller|Types of microcontroller
  9. 8051 Microcontroller Notes pdf|8051 microcontroller pdf
  10. Interrupts in 8051|Interrupts in 8051 Microcontroller

8051 microcontroller trainer kit

8051 microcontroller trainer kit

Latest Posts in EEE Made Easy

Leave a Comment