AREA CODE1,CODE,READONLY ENTRY LDR R0,=N1 LDR R1,=N2 LDRH R2,[R0] LDRH R3,[R1] MUL R4, R2,R3 LDR R6, =RESULT R4,[R6] STOP B STOP N1 DCW 0X1234 N2 DCW 0X5678 AREA DATA1,DATA,READWRITE RESULT DCD 0 END

2.Write a program to find the sum of first 10 integer numbers.

AREA CODE1,CODE,READONLY ENTRY MOV R2,#10 MOV R3,#0 REPEAT ADD R3,R2,R3 SUBS R2,R2,#1 BNE REPEAT LDR R6, =SUM STR R3,[R6] STOP B STOP AREA DATA1,DATA,READWRITE SUM DCD 0 END

3.Write a program to find factorial of a number
AREA CODE1,CODE,READONLY ENTRY MOV R2,#10 MOV R3,#1 REPEAT MUL R3,R2,R3 SUBS R2,R2,#1 BNE REPEAT LDR R6, =fact STR R3,[R6] STOP B STOP AREA DATA1, DATA, READWRITE fact DCD 0 END
4.Write a program to add an array of 16 bit numbers and store the 32 bit result in
internal RAM
AREA CODE1,CODE,READONLY ENTRY LDR R0,=INPUT MOV R2,#10 MOV R3,#0 REPEAT LDRH R4,[R0] ADD R3,R3,R4 ADD R0,R0,#2 SUBS R2,R2,#1 BNE REPEAT LDR R6,=SUM STR R3,[R6] STOP B STOP INPUT DCW 0X1111 ; INPUT ELEMENTS DCW 0X8888 DCW 0X3333 DCW 0X7777 DCW 0X11AA DCW 0X4444 DCW 0X9999 DCW 0X6666 DCW 0X2222 DCW 0X5555 AREA DATA1,DATA,READWRITE SUM DCD 0 END
5.Write a program to find the square of a number (1 to 10) using look-up table.

AREA CODE1,CODE,READONLY ENTRY LDR R0,=INPUT MOV R2,#9 SUB R2,R2,#1 ADD R0, R0, R2, LSL #2 LDR R3, [R0] LDR R6, =square STR R3, [R6] STOP B STOP INPUT DCD 1 DCD 4 DCD 9 DCD 16 DCD 25 DCD 36 DCD 49 DCD 64 DCD 81 DCD 100 AREA DATA1, DATA, READWRITE square DCD 0 END

6.Write a program to find the largest/smallest number in an array of 32 numbers.
AREA CODE1,CODE,READONLY ENTRY LDR R0, =INPUT R1,[R0] MOV R2, #9 MOV R3, R1 MOV R4, R1 REPEAT ADD R0, #4 LDR R5,[R0] CMP R3, R5 MOVGT R3, R5 CMP R4, R5 MOVLT R4, R5 SUBS R2, R2, #1 BNE REPEAT LDR R6,=large STR R4,[R6] LDR R6, =small R3,[R6] STOP B STOP INPUT DCD 0X11 DCD 0X88 DCD 0X33 DCD 0X77 DCD 0XAA DCD 0X44 DCD 0X99 DCD 0X66 DCD 0X22 DCD 0X55 AREA DATA1, DATA, READWRITE large DCD 0 small DCD 0 END
7.Write a program to arrange a series of 32 bit numbers in ascending/descending
order.

8. Write a program to count the number of ones and zeros in two consecutive memory
locations.
AREA CODE1,CODE,READONLY
ENTRY
LDR R0,=INPUT
LDMIA R0,{R1-R10}
LDR R0,=SORT
STMIA R0,{R1-R10}
MOV R2,#9
OUTER LDR R0, =SORT
MOV R3, R2
REPEAT LDR R4, [R0], #4
LDR R5,[R0]
CMP R4,R5
BLE SKIP
SWP R5,R4,[R0]
SUB R0, R0, #4
SWP R4,R5,[R0]
ADD R0,R0,#4
SKIP SUB R3, #1
CMP R3, #0
BNE REPEAT
R2,#1
CMP R2,#0
BNE OUTER
STOP B STOP
INPUT DCD 0X11
DCD 0X88
DCD 0X33
DCD 0X77
DCD 0XAA
DCD 0X44
DCD 0X99
DCD 0X66
DCD 0X22
DCD 0X55
AREA DATA1,DATA,READWRITE
SORT SPACE 40
END
8. Write a program to count the number of ones and zeros in two consecutive memory
locations.AREA CODE1,CODE,READONLY ENTRY LDR R0, =INPUT LDRH R1,[R0] MOV R2,#0 MOV R3, #0 MOV R4,#16 REPEAT RORS R1,R1,#1 ADDCS R3,R3,#1 ADDCC R2,R2,#1 SUB R4,R4,#1 CMP R4, #0 BNE REPEAT LDR R5,=ZCOUNT STR R3,[R5] LDR R5,=OCOUNT STR R2,[R5] STOP B STOP INPUT DCW 0X5678 AREA DATA1,DATA,READWRITE ZCOUNT DCD 0 OCOUNT DCD 0 END
