Advertisement
Guest User

Untitled

a guest
Jun 25th, 2024
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 1.82 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement