What is a prime number?
A prime number is a number which divides by 1 and itself. So when we are taking in the program we have to take and check for the numbers
which are not divisible by half of the number to be checked as a prime number.
eg: If we are checking for 11 as a prime number then it should not be divisible by numbers from 2 to 5(11/2).
1)Store the number to be checked as a prime number in the register R2.
2)Divide the number by 2 and store it in the register R0.
3)Check whether the R0 is 1 if it is one then it is a prime number.
4)If R0 is not 1 then go on dividing the prime number with all the numbers till R0 is 1 (By decrementing R0 by 1).
5)Then check if R0 is 1.If it is 1 then set the carry flag to 1 indicating that it is a prime number.
6)Suppose if the remainder dividing R2 by any number is zero then set the carry flag to 0 indicating it is not a prime number.
In this program let’s learn how to check whether the number is prime or not…….!!!
Code goes here:
MAIN: MOV R2,#11 ; Loading the number to be checked whether it's a prime or not
LABEL5: MOV A,R2
DIV AB ;Dividing the number by 2
CJNE R0,#01H,LABEL2 ;Checking whether the number is 2
LABEL1: DEC R0 ; decrementing and checking whether the number is not divisible by all possible values of number/2
SETB C ; setting the carry flag to 1 if it is a prime number
LABEL2: MOV A,R2
CLR C ; setting the carry falg to 0 if it not a prime number