Applab 4
Applab 4
EXPORT __main
ENTRY
__main
LDR R5,=0x10000004
LDR R6,=0x02
mov r3,#0x3211
mov r2,#0x00
mov r5,#0x02
add r0,r3,#0x0202
MOV R4,R0
MVN R4,R2
LDR R1,=0x11223344
end
Program 2:
AREA prg1,CODE,READONLY
EXPORT __main
ENTRY
__main
LDR R4,[R3]
LDR R7,[R6]
LDR R5,=num1
STR R4,[R5]
AREA DATA1,DATA,READWRITE
num1 DCD 5
end
Experiment Title: Indexing Modes
Program:
EXPORT __main
ENTRY
__main
LDR r5,=array2
END
AREA program,CODE,READONLY
ENTRY
LDR R0,=0x40000000 ; Source memory base address
LDR R1,=0x50001000 ; Destination memory base address
MOV R2,#0x0A ; Counter register with value equal
Program:
AREA prg1,CODE,READONLY
EXPORT __main
ENTRY
__main
LDR R4,=array
LDMIA R4!,{R1,R2,R3}
LDR R7,=array1
STMIA R7!,{R1,R2,R3}
array1 DCD 0
end
Experiment Title: Addition of Numbers in an Array
Programe 1: 32bit addition
AREA prg1, CODE, READONLY
EXPORT __main
ENTRY
__main
mov r3,#0x09
ldr r0,=array
ldr r1, [r0], #4
loop ldr r2, [r0], #4
adds r1, r2, r1
subs r3,r3,#0x01
bne loop
ldr r4,=array1
str r1, [r4]
array DCD 0x00000001,0x00000002,0x00000001,0x00000001,0x00000001,0x00000001,
0x00000001,0x00000001,0x00000001,0x00000001
AREA data1, DATA, READWRITE
array1 DCD 0
end
Experiment Title: 16bit addition