Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--------------PROGRAM 2--------------//
- // Arithmetic
- AREA ARITH, CODE, READONLY
- ENTRY
- LDR R1, =20
- LDR R2, =25
- ADD R3, R1, R2
- SUB R4, R1, R2
- MUL R5, R1, R2
- STOP B STOP
- END
- // Logic
- AREA LOGIC, CODE, READONLY
- ENTRY
- LDR R0, =5
- LDR R1, =3
- AND R4, R0, R1
- ORR R5, R0, R1
- EOR R6, R0, R1
- BIC R7, R0, R1
- STOP B STOP
- END
- // Data Transfer
- AREA DATATRANSFER, CODE, READONLY
- ENTRY
- LDR R9, =SRC
- LDR R10, =DST
- LDMIA R9!, {R0 - R7}
- STMIA R10!, {R0 - R7}
- SRC DCD 1, 2, 3, 4, 5, 6, 7, 8
- AREA BLOCKDATA, DATA, READWRITE
- DST DCD 0, 0, 0, 0, 0, 0, 0, 0
- END
- //--------------PROGRAM 3--------------//
- AREA SUM, CODE, READONLY
- ENTRY
- LDR R0, =NUM
- LDRH R1, [R0]
- LDRH R2, [R0, #2]
- MUL R3, R1, R2
- STOP B STOP
- NUM DCW 0X0006, 0X004D
- END
- //--------------PROGRAM 4--------------//
- AREA SUM, CODE, READONLY
- ENTRY
- LDR R0, =ARRAY
- LDR R1, =10
- LDR R2, =0
- NEXT
- LDR R3, [R0], #4
- ADD R2, R2, R3
- SUB R1, R1, #1
- CMP R1, #0
- BNE NEXT
- ARRAY DCD 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
- END
- //--------------PROGRAM 5--------------//
- // Smallest Number
- AREA SMALLEST_ARRAY, CODE, READONLY
- ENTRY
- MOV R0, #5
- LDR R1, =ARRAY
- LDR R2, [R1], #4
- LOOP
- LDR R3, [R1], #4
- CMP R2, R3
- BLT NEXT // change to BHI for largest number
- MOV R2, R3
- NEXT SUBS R0, R0, #1
- BNE LOOP
- STOP B STOP
- ARRAY DCD 3, 5, 2, 1, 4, 9
- END
- //--------------PROGRAM 6--------------//
- AREA OZ, CODE, READONLY
- ENTRY
- MOV R2, #0
- MOV R3, #0
- MOV R7, #2
- LDR R6, =NUM
- LOOP MOV R1, #32
- LDR R0, [R6], #4
- LOOP0 MOVS R0, R0, ROR #1
- BHI ONES
- ZEROES ADD R3, R3, #1
- B LOOP1
- ONES ADD R2, R2, #1
- LOOP1 SUBS R1, R1, #1
- BNE LOOP0
- SUBS R7, R7, #1
- BNE LOOP
- STOP B STOP
- NUM DCD 0x5, 0x7
- END
- //---------------ascending/descending-----------------//
- #include <lpc21xx.h>
- int main(){
- unsigned long int temp,arr[4]={0x00000004, 0x00000003, 0x00000002, 0x00000001};
- unsigned char i,j,n=4;
- for(i=0;i<n-1;i++){
- for(j=0;j<n-1;j++){
- if(arr[j]>arr[j+1]){
- temp=arr[j];
- arr[j]=arr[j+1];
- arr[j+1]=temp;
- }
- }
- }
- }
- //-------------case conversion------------------------//
- #include <lpc21xx.h>
- int main(){
- unsigned char c[10]="abcdAB";
- unsigned int i,j;
- for(i=0;i<=10;i++){
- j=(int)c[i];
- if(j>=65 && j<=90){ j=j+32;}
- else {j=j-32;}
- c[i]=(char)j;
- }
- }
- //--------------------factorial----------------------//
- #include <lpc21xx.h>
- int main(){
- unsigned long n=5, fact=1;
- unsigned char i;
- if(n==0){
- fact=1;
- }
- else if(n>0){
- for(i=1;i<=n;i++){
- fact=fact*i;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement