AREA SMALLEST, CODE, READONLY
ENTRY
START
MOV R5, #3
LDR R1, =VALUE1
LDR R2, [R1], #4
LOOP
LDR R4, [R1], #4
CMP R2, R4
BLS LOOP1
MOV R2, R4
LOOP1
SUBS R5, R5, #1
CMP R5, #0
BNE LOOP
LDR R4, =RESULT
STR R2, [R4]
BACK
B BACK
VALUE1
DCD 0X00000002
DCD 0X00000001
DCD 0X00000004
DCD 0X00000003
AREA DATA2, DATA, READWRITE
RESULT DCD 0X0
END
==================================================================
AREA ASCENDING, CODE, READONLY
ENTRY
START
MOV R8, #4
LDR R2, =CVALUE
LDR R3, =DVALUE
LOOP0
LDR R1, [R2], #4
STR R1, [R3], #4
SUBS R8, R8, #1
CMP R8, #0
BNE LOOP0
START1
MOV R5, #3
MOV R7, #0
LDR R1, =DVALUE
LOOP
LDR R2, [R1], #4
LDR R3, [R1]
CMP R2, R3
BLT LOOP2
STR R2, [R1], #-4
STR R3, [R1]
MOV R7, #1
ADD R1, #4
LOOP2
SUBS R5, R5, #1
CMP R5, #0
BNE LOOP
CMP R7, #0
BNE START1
BACK
B BACK
CVALUE
DCD 0X00000004
DCD 0X00000001
DCD 0X00000003
DCD 0X00000002
AREA DATA1, DATA, READWRITE
DVALUE DCD 0X00000000
END
=========================================================
AREA ONEZERO, CODE, READONLY
ENTRY
START
MOV R2, #0
MOV R3, #0
MOV R7, #2
LDR R6, =VALUE
LOOP
MOV R1, #32
LDR R0, [R6], #4
LOOP0
MOVS R0, R0, ROR #1
BHI ONES
ZEROS
ADD R3, R3, #1
B LOOP1
ONES
ADD R2, R2, #1
LOOP1
SUBS R1, R1, #1
BNE LOOP0
SUBS R7, R7, #1
CMP R7, #0
BNE LOOP
BACK
B BACK
VALUE DCD 0X00000001, 0X00000011
END