You are on page 1of 1

;LINEAR SEARCH

; FLAG VARIABLE CHANGES TO ONE IF VALUE IS FOUND


AREA RESET,DATA,READONLY
EXPORT __Vectors

__Vectors
DCD 0x10001000
DCD Reset_Handler
ALIGN

AREA mycode,CODE,READONLY
ENTRY
EXPORT Reset_Handler
Reset_Handler

LDR R0,=ARR
LDR R1,=VAL
LDR R2,[R1]
LDR R3,=FLAG
MOV R10,#0X0A

UP
LDR R4,[R0],#4
CMP R2,R4
BEQ FOUND
SUB R10,#1
TEQ R10,#0
BNE UP
B STOP

FOUND
MOV R5,#1
STR R5,[R3]
STOP
B STOP

ARR DCD 0x12345678,0xabcdef90,0X66666666, 0x65382647, 0x91236547, 0X00004567,


0X1234ABCD, 0X98765432, 0XABABABAB, 0XA123B678
AREA mydata,DATA,READWRITE
VAL DCD 0
FLAG DCD 0
END

You might also like