View difference between Paste ID: gnHT8Htn and rJ0xHzY6
SHOW: | | - or go back to the newest paste.
1
//--------------PROGRAM 2--------------//
2
3
// Arithmetic
4
	AREA ARITH, CODE, READONLY
5
		ENTRY
6
			LDR R1, =20
7
			LDR R2, =25
8
			ADD R3, R1, R2
9
			SUB R4, R1, R2
10
			MUL R5, R1, R2
11
STOP B STOP
12
	END
13
14
// Logic
15
	AREA LOGIC, CODE, READONLY
16
		ENTRY
17
			LDR R0, =5
18
			LDR R1, =3
19
			AND R4, R0, R1
20
			ORR R5, R0, R1
21
			EOR R6, R0, R1
22
			BIC R7, R0, R1
23
STOP B STOP
24
	END
25
26
// Data Transfer
27
	AREA DATATRANSFER, CODE, READONLY
28
		ENTRY
29
			LDR R9, =SRC
30
			LDR R10, =DST
31
			LDMIA R9!, {R0 - R7}
32
			STMIA R10!, {R0 - R7}
33
SRC DCD 1, 2, 3, 4, 5, 6, 7, 8
34
			AREA BLOCKDATA, DATA, READWRITE
35
DST DCD 0, 0, 0, 0, 0, 0, 0, 0
36
	END
37
38
39
//--------------PROGRAM 3--------------//
40
41
42
	AREA SUM, CODE, READONLY
43
		ENTRY
44
			LDR R0, =NUM
45
			LDRH R1, [R0]
46
			LDRH R2, [R0, #2]
47
			MUL R3, R1, R2
48
STOP B STOP
49
NUM DCW 0X0006, 0X004D
50
			END
51
52
53
//--------------PROGRAM 4--------------//
54
55
	AREA SUM, CODE, READONLY
56
		ENTRY
57
			LDR R0, =ARRAY
58
			LDR R1, =10
59
			LDR R2, =0
60
NEXT
61
			LDR R3, [R0], #4
62
			ADD R2, R2, R3
63
			SUB R1, R1, #1
64
			CMP R1, #0
65
			BNE NEXT
66
ARRAY DCD 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
67
			END
68
69
70
//--------------PROGRAM 5--------------//
71
72
// Smallest Number
73
74
	AREA SMALLEST_ARRAY, CODE, READONLY
75
		ENTRY
76
			MOV R0, #5
77
			LDR R1, =ARRAY
78
			LDR R2, [R1], #4
79
LOOP
80
			LDR R3, [R1], #4
81
			CMP R2, R3
82
			BLT NEXT	// change to BHI for largest number
83
			MOV R2, R3
84
NEXT		SUBS R0, R0, #1
85
			BNE LOOP
86
STOP B STOP
87
ARRAY DCD 3, 5, 2, 1, 4, 9
88
			END
89
90
91
//--------------PROGRAM 6--------------//
92
93
	AREA OZ, CODE, READONLY
94
		ENTRY
95
		MOV R2, #0 
96
		MOV R3, #0
97
		MOV R7, #2
98
		LDR R6, =NUM
99
LOOP	MOV R1, #32
100
		LDR R0, [R6], #4
101
LOOP0	MOVS R0, R0, ROR #1
102
		BHI ONES
103
ZEROES	ADD R3, R3, #1
104
		B LOOP1
105
ONES	ADD R2, R2, #1
106
LOOP1	SUBS R1, R1, #1
107
		BNE LOOP0
108
		SUBS R7, R7, #1
109
		BNE LOOP
110
STOP B STOP
111
NUM DCD 0x5, 0x7
112-
		END
112+
		END
113
        
114
        
115
//---------------ascending/descending-----------------//
116
#include <lpc21xx.h>
117
int main(){
118
    unsigned long int temp,arr[4]={0x00000004, 0x00000003, 0x00000002, 0x00000001};
119
    unsigned char i,j,n=4;
120
    for(i=0;i<n-1;i++){
121
        for(j=0;j<n-1;j++){
122
            if(arr[j]>arr[j+1]){
123
                temp=arr[j];
124
                arr[j]=arr[j+1];
125
                arr[j+1]=temp;
126
            }
127
        }
128
    }
129
}
130
131
132
//-------------case conversion------------------------//
133
#include <lpc21xx.h>
134
int main(){
135
    unsigned char c[10]="abcdAB";
136
    unsigned int i,j;
137
    for(i=0;i<=10;i++){
138
        j=(int)c[i];
139
        if(j>=65 && j<=90){ j=j+32;}
140
        else {j=j-32;}
141
        c[i]=(char)j;
142
    }
143
}
144
145
//--------------------factorial----------------------//
146
#include <lpc21xx.h>
147
int main(){
148
    unsigned long n=5, fact=1;
149
    unsigned char i;
150
    if(n==0){
151
        fact=1;
152
    }
153
    else if(n>0){
154
        for(i=1;i<=n;i++){
155
            fact=fact*i;
156
        }
157
    }
158
}