Write an Assembly program to find the largest or smallest number in an array of 32 numbers
Program:-
Largest:-
AREA LARGEST,CODE,READONLY
ENTRY
MOV R5,#6
LDR R1,=VALUE
LDR R2,[R1],#4
LOOP LDR R3,[R1],#4
CMP R2,R3
BHI LOOP1
MOV R2,R3
LOOP1 SUBS R5,R5,#1
CMP R5,#0
BNE LOOP
LDR R4,=RESULT
STR R2,[R4]
STOP B STOP
VALUE DCD 0x44444444,0x22222222,0x11111111,0x33333333,0xAAAAAAAA,0x8888888,0x99999999
AREA INFO,DATA,READWRITE
RESULT DCD 0x00000000
ENDSmallest:-
AREA LARGEST,CODE,READONLY
ENTRY
MOV R5,#6
LDR R1,=VALUE
LDR R2,[R1],#4
LOOP LDR R3,[R1],#4
CMP R2,R3
BLS LOOP1
MOV R2,R3
LOOP1 SUBS R5,R5,#1
CMP R5,#0
BNE LOOP
LDR R4,=RESULT
STR R2,[R4]
STOP B STOP
VALUE DCD 0x44444444,0x22222222,0x11111111,0x33333333,0xAAAAAAAA,0x8888888,0x99999999
AREA INFO,DATA,READWRITE
RESULT DCD 0x00000000
END