Can please help me to do a written description of the algori
Can please help me to do a written description of the algorithm and approach for this program in 68k??
I am not sure how to describe it.
ORG $400 DEFINE VARIABLES FOR ADDRESSES DC.L FIRST DC.L CAP ORG $420 LIST OF NUMBERS TO BE SORTED FIRST DC. L 20, 19, 18, 17, 1 14, 13, 12, 11, 10, 9, 8,7, 6,5, 4, 3, 2, 1 CAP DC.L 999 END CAP NOT A PART OF THE LIST ORG $1000 LEA. L CAP,A LISTLOOP MOVE. B #0, D4 RESETTING COUNTER LEA. L $420 THEN SET POINTER TO BEGINNING OF LIST A0 COMPARELOOP MOVE. L (A0) D1 MOVE. L (A0),D2 CHECK IF LOOP IS AT END OF LIST CMPA. A0 RUN OUTER LOOP IF AT END OF LIST, OTHERWISE PROCEED BEQ CHECKSORTED IF IN MEMORY BEYOND LIST BHI CHECKSORTED CMP L D1, D2 BMI SWAP IF NEG, SWAP BGE COMPARE LOOP IF POS OR EQUAL NO SWAP CHECK SORTED MOVE. B #0, D3 SUBTRACTING COUNTER AND 0 CMP .B D04, D3 BEQ TERM PROG BRANCH TO END IF COUNTER EQUALS 0 BNE LISTLOOP RUN LOOP AGAIN FROM BEGINNING IF SWAPS OCCURED BECAUSE COUNTER IS NONZERO SWAP ADD B #1, D4 COUNTER IS D4, COUNTS SWAPING. WHEN ZERO, WE ARE DONE MOVE. L D2,- (A0) ADDA. #4, A0 MOVE. L D1, (A0) JMP COMPARE LOOP TERMPROG END $1000Solution
ORG $400 ;START THE PROGRAM AT THE MEMORY LOCATION 400
DC.L FIRST ;LOADS THE CONSTANT FIRST(i.e long word FIRST)IN THE MEMORY BEFORE EXECUTION
DC.L CAP ;LOADS THE CONSTANT CAP(i.e long word CAP)IN THE MEMORY BEFORE EXECUTION
ORG $420 ;START THE PROGRAM AT THE MEMORY LOCATION 420
FIRST DC. L 20, 19, 18, 17, 1 14, 13, 12, 11, 10, 9, 8,7, 6,5, 4, 3, 2, 1
CAP DC.L 999
ORG $1000 ;START THE PROGRAM AT THE MEMORY LOCATION 1000
LEA.L CAP,A1 ;LOADS THE EFFECTIVE ADDRESS CAP TO A1
LISTLOOP
MOVE.B #0, D4 ;MOVING THE BYTE#O TO DATA REGISTER D4
LEA.L $420,A0 ;LOADS THE EFFECTIVE ADDRESS TO ADDRESS REGISTER A0
COMPARELOOP MOVE.L (A0)+,D1
MOVE.L (A0),D2 ; MOVING THE LONGWORD A0 WITH AN AUTO INCREMENT OF 1 IN THE ADDRESS TO DATA REGISTER D2
CMPA.L A1,A0 ;COMPARE THE LONGWORD IN THE ADDRESS REGISTER A1 WITH A0
BEQ CHECKSORTED ; BRANCH TO CHECKSORTED IF THEY MATCH ELSE WILL CONTINUE WITH THE SAME
BHI CHECKSORTED
CMP.L D1, D2 ; COMPARES THE DATA REGISTERS D1 AND D2
BMI SWAP ; BRANCH ON MINUS THE SWAP WILL BE DONE ELSE THE INSTRUCTION WILL BE IGNORED
CHECKSORTED MOVE.B #0,D3
CMP.B D4,D3 ;COMPARE THE DATA REGISTER D4 AND D3
BEQ TERMPROG ; BRANCH ON EQUALS TO THE TERMPROG
BNE LISTLOOP ;IF IT DOES NOT MATCH IT BRANCH TO LISTLOOP ELSE IT WILL SWAP
SWAP ADD.B #1,D4
MOVE.L D2,-(A0) ; MOVING THE LONGWORD D2 TO ADDRESS REGISTER A0 WITH AN DECREMENT IN THE ADDRESS
ADDA.L #4,A0 ;ADD THE LONGWORD #4 TO ADDRESS REGISTER A0
MOVE.L D1,(A0) ; MOVING THE LONGWORD D1 TO ADDRESS REGISTER A0 WITH AN INCREMENT IN THE ADDRESS
JMP COMPARE LOOP ;JMP WILL JUMP THE CODE AND LAND AT COMPARE LOOP
TERMPROG
END $1000 ; END THE PROGRAM AT THE MEMORY LOCATION 1000
