You are on page 1of 4

---------------------------------------

P2
AREA SUM,CODE,READONLY
ENTRY
START
MOV R5,#10
MOV R0,#0
MOV R1,#1 ;
LOOP ADD R0,R0,R1 ; R0+R1=R0
ADD R1,R1,#1
SUBS R5,R5,#1
CMP R5,#0
BNE LOOP
S B S
NOP
NOP
END

-------------------------------------
p3
AREA FACTORIAL,CODE,READONLY
ENTRY
MOV R0,#5 ; TO FIND FACTORIAL OF 5
MOV R3,#1
LOOP CMP R0,#1
MULGT R3,R0,R3 ; multiply if r0>r3
SUBGT R0,R0,#1 ; subtract if r0>1
BGT LOOP ; branch if r0>1
END

-----------------------------------
P4
AREA ADDITION,CODE,READONLY
ENTRY
START
MOV R5,#4
MOV R0,#0
LDR R1,VALUE1
LOOP
LDRH R2,[R1],#2
ADD R0,R0,R2
SUBS R5,R5,#1
CMP R5,#0
BNE LOOP
LDR R4,RESULT
STR R0,[R4]
S B S

VALUE1 DCD 0X40000000


RESULT DCD 0X40000010
END

------------------------------------------
p5
AREA SQUARE,CODE,READONLY
ENTRY
LDR R0,=TABLE
LDR R1,=5
SUB R1,#1
ADD R0,R0,R1
LDRB R2,[R0]

S B S
TABLE DCB 01,04,09,16,25,36,49,64,81,100
END
----------------------------------------
p6
6a.
AREA LARGE, CODE, READONLY
ENTRY
START
MOV R5,#5
LDR R1,=VALUE
LDR R2,[R1],#1
LOOP LDR R3,[R1],#1
CMP R2,R3
BHS LARGE
MOV R2,R3
LOOP1 SUBS R5,R5,#1
CMP R5,#0
BNE LOOP
S B S
VALUE DCD 0X11111111
DCD 0X44444444
DCD 0X22222222
DCD 0X55555555
DCD 0X33333333
END
---------------------------------
6b.
AREA SMALLEST,CODE,READONLY
ENTRY
START
MOV R5,#5
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
S B S
VALUE1
DCD 0X00000010
DCD 0X00000030
DCD 0X00000020
DCD 0X00000060
DCD 0X00000025
END
----------------------------
p7
7a.
AREA ASCEN,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 SUB R5,R5,#1
CMP R5,#0
BNE LOOP
CMP R7,#0
BNE START1
S B S
CVALUE DCD 0X00000044
DCD 0X00000011
DCD 0X00000033
DCD 0X00000022
AREA DATA1,DATA,READWRITE
DVALUE DCD 0X0
END
----------------------------------
7b.
AREA DESC,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
BGT LOOP2
STR R2,[R1],#-4
STR R3,[R1]
MOV R7,#1
ADD R1,#4
LOOP2 SUBR5,R5,#1
CMPR5,#0
BNELOOP
CMPR7,#0
BNESTART1
S B S
CVALUE DCD 0X00000044
DCD 0X00000011
DCD 0X00000033
DCD 0X00000022
AREA DATA1,DATA,READWRITE
DVALUE DCD 0X0
END

----------------------------------------
p8.
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,R6,ROR #1
BHI ONES
ZERO5 ADD R3,R3,#1
B LOOP1
ONES ADD R2,R2,#1
LOOP1 SUBS R1,R1,#1
CMP R1,#0
BNE LOOP0
SUBS R7,R7,#1
CMP R7,#0
BNE LOOP
S B S
VALUE DCD 0X03,0X02
END
------------------------------------

You might also like