45 lines
No EOL
698 B
NASM
45 lines
No EOL
698 B
NASM
AREA RESET, DATA, READONLY
|
|
EXPORT __Vectors
|
|
__Vectors
|
|
DCD 0x10001000
|
|
DCD Reset_Handler
|
|
ALIGN
|
|
|
|
AREA MYCODE, CODE, READONLY
|
|
ENTRY
|
|
EXPORT Reset_Handler
|
|
|
|
Reset_Handler
|
|
MOV R5, #8
|
|
LDR R0, =SRC
|
|
LDR R2, =target
|
|
LDR R7, [R2]
|
|
LDR R3, =result
|
|
LDR R8, =found_addr
|
|
MOV R4, #0
|
|
STR R4, [R3]
|
|
STR R4, [R8]
|
|
loop
|
|
LDR R1, [R0], #4
|
|
CMP R1, R7
|
|
BEQ found
|
|
SUBS R5, R5, #1
|
|
BNE loop
|
|
B STOP
|
|
found
|
|
MOV R4, #1
|
|
STR R4, [R3]
|
|
SUB R6, R0, #4
|
|
STR R6, [R8]
|
|
STOP
|
|
B STOP
|
|
|
|
AREA CONSTS, DATA, READONLY
|
|
SRC DCD 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x1, 0x2
|
|
target DCD 0x1
|
|
|
|
AREA DATA1, DATA, READWRITE
|
|
result DCD 0
|
|
found_addr DCD 0
|
|
|
|
END |