Advertisement
Guest User

Untitled

a guest
Nov 28th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.91 KB | None | 0 0
  1. N: .word 3
  2. matrix_multuiply:
  3.  
  4.     PUSH {R1-R11, LR}
  5.  
  6.     MOV R1, #0 //i
  7.     MOV R2, #0 //j
  8.     MOV R3, #0 //k
  9.    
  10.    
  11.     B L1
  12.    
  13. L1:
  14.    
  15.     B L2
  16.  
  17. L2:
  18.     MUL R6, R1, R4 //R6 = i*N
  19.     //MOV R5, #0 //sum
  20.     B L3
  21.  
  22.  
  23. L3:
  24.     LDR R4, =N
  25.     LDR R4, [R4] //R4 = N
  26.     ADD R7, R6, R3 //R7 = i*N + k  
  27.     MUL R8, R3, R4 //R8 = k*N
  28.     ADD R8, R8, R2 //R8 = k*N + j
  29.    
  30.     LDR R4, =arrA
  31.     ADD R4, R4, R7, LSL#3
  32.    
  33.     .word 0xED949B00
  34.    
  35.     //ADD R5, R5, R4
  36.     LDR R4, =arrB
  37.     ADD R4, R4, R8, LSL#3
  38.    
  39.     .word 0xED948B00
  40.    
  41.     //ADD R5, R5, R4
  42.    
  43.     .word 0xEE298B08
  44.    
  45.     .word 0xEE366B08
  46.        
  47.     ADD R3, R3, #1
  48.    
  49.     LDR R4, =N
  50.     LDR R4, [R4]
  51.     SUB R4, R4, #1
  52.     CMP R3, R4
  53.     BLE L3
  54.    
  55.     B getCij
  56.    
  57. getCij:
  58.  
  59.     ADD R7, R6, R2 //R7 = i*N + j
  60.     LDR R9, =arrC
  61.     ADD R9, R9, R7, LSL#3
  62.     .word ED896B00
  63.    
  64.     ADD R2, R2, #1
  65.    
  66.     LDR R4, =N
  67.     LDR R4, [R4]
  68.     SUB R4, R4, #1
  69.     CMP R2, R4
  70.     BLE L2
  71.    
  72.     ADD R1, R1, #1
  73.     CMP R1, R4
  74.     BLE L1
  75.    
  76.     POP {R0-R11, LR}
  77.     MOV PC, LR
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement