Question: I am working on an assembly language project to determine whether the stored number is prime or not. The stored number, which I have stored
I am working on an assembly language project to determine whether the stored number is prime or not. The stored number, which I have stored as 7 in R0, is supposed to go through the program and produce 0x01 since 7 is a prime number. I do not know how to get the program to produce R1 as 0x01 since 7 is a prime number. Please help. I am using assembly language 8051 on EdSim41DI - version 2 via Java.
; don't need = Mov R1, #0xA0 ; hexadecimal value of a constant
;R0 - stored number
;R1 - result (If prime, R1 is 0x01. If not, R1 is 0x00)
MOV R0, #0x07 ;move 7 into r0
Label4: Mov A, @R0 ; move what is in R0 into A register (7)
MOV B, #02 ;move 2 into B register (2)
DIV AB ; divide number by 2 (7/2)
MOV R3, A ; move result of AB into Register 3 (3.5)
;if/else statment
CJNE R3, #01H, Label2 ;Checks if number is 2 {compare immediate to register and jump if not equal} (3.5 not equal to 2)
MOV @R5, A ; move accumulator to indirect RAM
INC R5 ;increment R5 (register 5/R5)
SJMP Label3 ; short jump to Label 3
Label1: Dec R3 ; decrement Register 3 and see if number is not divisible by all values of number/2
CJNE R3, #01H, LABEL2 ;compare immediate to register and jump if not equal
MOV B, @R0 ;move what is in R1 to B register
Mov @R5, B ;move prime number into R0
INC R5 ; increment Register 5
SJMP Label3 ; shortjump to label 3
;should continue dividing the prime number with all numbers till R3 is 1
Label2: MOV A, @R0 ;move indirect (7)
MOV B, R3 ;move R3 into B (3.5)
DIV AB ;Divide AB (7/3.5 = 2)
MOV R4, B ;Move B into Register 4 (2)
CJNE R4, #0H, Label1 ;Checking whether the number is divisible by any number (
Label3: INC R0 ; increment register 0
DEC R2 ; decrement register 2
CJNE R2, #0H, Label4 ; check if counter is 0 (compare immediate to register and jump if not equal)
END
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
