MC Codes
MC Codes
1.Multiplication
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X03
MOV R1, #0X07
MOV R2, #0X00
L1 ADD R2, R2, R0
SUB R1, R1, #1
CMP R1, #0
BNE L1
L2 B L2
END
2.Division
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X07
MOV R1, #0X03
MOV R2, #0X00
L1 SUBS R0, R0, R1
BCC L2
ADD R3, R3, #1
L2 CMP R0, R1
BCS L1
L3 B L3
END
4.Largest Odd
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X40000000
MOV R1, #0X05
MOV R2, #0X00
L3 LDRB R3, [R0]
ANDS R5, R3, #1
BEQ L4
L2 SUBS R4, R2, R3
BCS L4
MOV R2, R3
L4 ADD R0, R0, #1
SUBS R1, R1, #1
CMP R1, #0
BNE L3
L1 B L1
END
5.Largest even
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X40000000
MOV R1, #0X05
MOV R2, #0X00
L3 LDRB R3, [R0]
ANDS R5, R3, #1
BNE L4
L2 SUBS R4, R2, R3
BCS L4
MOV R2, R3
L4 ADD R0, R0, #1
SUBS R1, R1, #1
CMP R1, #0
BNE L3
L1 B L1
END
6.Smallest odd
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X40000000
MOV R1, #0X05
MOV R2, #0XFF
L3 LDRB R3, [R0]
ANDS R5, R3, #1
BEQ L4
L2 SUBS R4, R2, R3
BCC L4
MOV R2, R3
L4 ADD R0, R0, #1
SUBS R1, R1, #1
CMP R1, #0
BNE L3
L1 B L1
END
7.Smallest even
Write the algorithm for the following code:
AREA PROGRAM, CODE, READONLY
ENTRY
MOV R0, #0X40000000
MOV R1, #0X05
MOV R2, #0XFF
L3 LDRB R3, [R0]
ANDS R5, R3, #1
BNE L4
L2 SUBS R4, R2, R3
BCC L4
MOV R2, R3
L4 ADD R0, R0, #1
SUBS R1, R1, #1
CMP R1, #0
BNE L3
L1 B L1
END
8.SORING(1 LEVEL):
CODE:
AREA ARRAY,CODE,READONLY
ENTRY
MOV R1,#0X05
SUB R1,R1,#1
L3 MOV R2,R1
MOV R0,#0X40000020
L1 LDRB R3,[R0]
ADD R0,R0,#0X01
LDRB R4,[R0]
SUBS R5,R3,R4
BCS L2 #BCC MEANS ASCENDING BCS DECENDING
STRB R3,[R0]
SUB R0,R0,#0X01
STRB R4,[R0]
ADD R0,R0,#0X01
L2 SUBS R2,R2,#0X01
BNE L1
SUBS R2,R1,#0X01
MOV R9,#0X40000023
LDRB R8,[R9]
L4 B L4
END
9.ODD AND EVEN IN SEPARATE ARRAYS:
CODE:
AREA PROGRAM,CODE,READONLY
ENTRY
MOV R1,#0X40000000
MOV R7,#0X40000023
MOV R8,#0X40000029
MOV R2,#7 ;Total no of elements in array
MOV R5,#2 ;Number of even numbers
MOV R6,#2 ;Number of odd numbers
L2 LDRB R3,[R1]
MOV R4,R3
AND R3,R3,#1
CMP R3,#0
BNE ODD
EVE CMP R5,#0
SUB R5,R5,#1
BLE L3
STRB R4,[R7]
ADD R7,R7,#1
B L3
ODD CMP R6,#0
SUB R6,R6,#1
BLE L3
STRB R4,[R8]
ADD R8,R8,#1
L3 ADD R1,R1,#1
SUB R2,R2,#1
CMP R2,#0
BNE L2
L1 B L1
END
10.BUBBLE SORT:
Code:
AREA PROGRAM,CODE,READONLY
ENTRY
MOV R5,#4
L3 MOV R4,#4
MOV R0,#0X40000000
L2 LDRB R1,[R0]
LDRB R2,[R0,#1]
CMP R1,R2
BCC SK #BCS for decending
STRB R2,[R0]
STRB R1,[R0,#1]
SK ADD R0,R0,#1
SUBS R4,#1
BNE L2
SUBS R5,#1
BNE L3
L1 B L1
END
EXP 4
1.
Write the algorithm for the following code:
#include <lpc214x.h>
unsigned int i;
void main ()
{
PINSEL2=0X00000000;
IO1DIR=0X000F0000;
while (1)
{
IO1SET=0X000F0000;
for (i=0; i<500000; i++):
IO1CLR=0X000F0000;
for (i=0; i<500000; i++)
}
}
2.
Write the algorithm for the following code:
#include <lpc214x.h>
unsigned int i;
void main()
{
PINSEL2 = 0X00000000;
IO1DIR = 0XF0000000;
while(1)
{
IO1SET = 0X10000000;
for (i=0; i<500000; i++);
IO1CLR = 0X10000000;
for (i=0; i<500000; i++);
IO1SET = 0X70000000;
for (i=0; i<500000; i++);
IO1CLR = 0X70000000;
for (i=0; i<500000; i++);
IO1SET = 0X20000000;
for (i=0; i<500000; i++);
IO1CLR = 0X20000000;
for (i=0; i<500000; i++);
IO1SET = 0X40000000;
for (i=0; i<500000; i++);
IO1CLR = 0X40000000;
for (i=0; i<500000; i++);
IO1SET = 0X50000000;
for (i=0; i<500000; i++);
IO1CLR = 0X50000000;
for (i=0; i<500000; i++);
}
}