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 | } |