
Site Search
Rotating the Bits of Accumulator 'Right', Assembly Language Instruction 'RR', LED's Running Right, Time Delay 0.5 Second

Rotating the Bits of Accumulator 'Right', Assembly Language Instruction 'RR', LED's Running Right, Time Delay 0.5 sec
;=================================================================
;Code Written by: Azhar Ahmed
; W W W . I A M T E C H N I C A L . C O M
;Crystal Frequency = 12MHz / 12 Machine Cycles = 1Mhz
;1/1MHz = 1 Microsecond
;(250 x 250 x 2 x 1Microsecond) x 4 times ACALL Delay = 0.5 Second
;=================================================================
ORG 0000H
MOV A,#80H ;Load 80H in HEX or 10000000B in Binary to Accumulator
MOV P1,A ;Load 80H in HEX or 10000000B in Binary at Port1
BACK: RR A ;Rotate The Bits of Accumulator Right i.e .e From Least Significant Bit to Most Significant Bit
;10000000
;01000000
;00100000
;00010000
;00001000
;00000100
;00000010
;00000001
MOV P1,A ;Load the Rotated Bits at the Port1
ACALL DELAY ;WAIT 0.125 Second
ACALL DELAY ;WAIT 0.125 Second
ACALL DELAY ;WAIT 0.125 Second
ACALL DELAY ;WAIT 0.125 Second
SJMP BACK ;Make This Operation to Run Repeatedly
DELAY:
MOV R0,#250 ;Initialize the R0 Register With an Immediate Value 250
NEXT:
MOV R1,#250 ;Load R0 With 250 Value to Repeat the Loop for 250 Times
AGAIN:
DJNZ R1,AGAIN ;Internal Loop Repeates 250 Times
DJNZ R0,NEXT ;External Loop Repeates 250 Times
RET ;Return to Caller
END ;End of .asm File
;==================================================================