Guest User

Untitled

a guest
Apr 18th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .ORIG x3000
  2.  
  3. ;;;;;;;;;;;;;;;;;;;CLEAR REGISTERS;;;;;;;;;;;;;;;;;;;
  4. ADD R0, R0, #0  ;Holds the number to be shifted
  5. ADD R1, R1, #0  ;Number of Bits to shift by
  6. ADD R2, R2, #0  ;Number of Current Shifted Bits
  7. ADD R3, R3, #0  ;Temp Store
  8. ADD R4, R4, #0  ;Current Shifted Number
  9. ADD R5, R5, #0  ;Bit Mask
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11.  
  12. ;;;;;;;;;;;;;;;;;;;;LOAD REGISTERS;;;;;;;;;;;;;;;;;;;
  13. LD R0, #202     ;Number to Shift
  14. LD R1, #4       ;Number of Bits to Shift
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16.  
  17.  
  18.  
  19.  
  20. JSR MAIN_LOOP
  21.    
  22.  
  23. IF_BRP:
  24.     ADD     R3, R4, R4      ;ADD R1 to itself and output back into R1
  25.     ADD     R4, R4, #0      ;Clear R4
  26.     STR     R4, R3, #0          ;Store Back in R4
  27.     ADD     R3, R3, #0      ;Clear R3
  28.    
  29.    
  30. IF_BRZ:
  31.     ADD     R3, R4, R4      ;ADD R1 to itself and output back into R1
  32.     ADD     R4, R4, #0      ;Clear R4
  33.     STR     R4, R3, #0      ;Store Back in R4
  34.     ADD     R3, R3, #0      ;Clear R3
  35.     LD      R5, BIT_AA      ;Load Bit Mask
  36.     AND     R3, R4, R5      ;AND R4 and R5
  37.     STR     R4, R3, #0      ;Store Back in R4
  38.    
  39. FIRST_BRP:
  40.     ADD     R3, R1 #1
  41.     ;LD     R4, R3
  42.  
  43.  
  44. MAIN_LOOP:
  45.     LD      R5, BIT_16
  46.     AND     R3, R0, R5
  47.     BRp     FIRST_BRP
  48.  
  49.     LD      R5, BIT_15
  50.     AND     R3, R0, R5
  51.     BRp     IF_BRP
  52.     BRz     IF_BRZ
  53.    
  54.     LD      R5, BIT_14
  55.     AND     R3, R0, R5
  56.     BRp     IF_BRP
  57.     BRz     IF_BRZ
  58.    
  59.     LD      R5, BIT_13
  60.     AND     R3, R0, R5
  61.     BRp     IF_BRP
  62.     BRz     IF_BRZ
  63.    
  64.     LD      R5, BIT_12
  65.     AND     R3, R0, R5
  66.     BRp     IF_BRP
  67.     BRz     IF_BRZ
  68.    
  69.     LD      R5, BIT_11
  70.     AND     R3, R0, R5
  71.     BRp     IF_BRP
  72.     BRz     IF_BRZ
  73.    
  74.     LD      R5, BIT_10
  75.     AND     R3, R0, R5
  76.     BRp     IF_BRP
  77.     BRz     IF_BRZ
  78.    
  79.     LD      R5, BIT_9
  80.     AND     R3, R0, R5
  81.     BRp     IF_BRP
  82.     BRz     IF_BRZ
  83.    
  84.     LD      R5, BIT_8
  85.     AND     R3, R0, R5
  86.     BRp     IF_BRP
  87.     BRz     IF_BRZ
  88.    
  89.     LD      R5, BIT_7
  90.     AND     R3, R0, R5
  91.     BRp     IF_BRP
  92.     BRz     IF_BRZ
  93.    
  94.     LD      R5, BIT_6
  95.     AND     R3, R0, R5
  96.     BRp     IF_BRP
  97.     BRz     IF_BRZ
  98.    
  99.     LD      R5, BIT_5
  100.     AND     R3, R0, R5
  101.     BRp     IF_BRP
  102.     BRz     IF_BRZ
  103.    
  104.     LD      R5, BIT_4
  105.     AND     R3, R0, R5
  106.     BRp     IF_BRP
  107.     BRz     IF_BRZ
  108.    
  109.     LD      R5, BIT_3
  110.     AND     R3, R0, R5
  111.     BRp     IF_BRP
  112.     BRz     IF_BRZ
  113.    
  114.     LD      R5, BIT_2
  115.     AND     R3, R0, R5
  116.     BRp     IF_BRP
  117.     BRz     IF_BRZ
  118.    
  119.     LD      R5, BIT_1
  120.     AND     R3, R0, R5
  121.     BRp     IF_BRP
  122.     BRz     IF_BRZ
  123.    
  124.     ADD R1, R1, #-1 ;Decrement Counter
  125.    
  126.     BRp MAIN_LOOP
  127.     BRnz HALT
  128.  
  129. ;;;;;;;;;;;;;;;;;;;;SET BITSHIFTS;;;;;;;;;;;;;;;;;;;;
  130. BIT_1   .FILL x0001     ;1
  131. BIT_2   .FILL x0002     ;2
  132. BIT_3   .FILL x0004     ;4
  133. BIT_4   .FILL x0008     ;8
  134. BIT_5   .FILL x0010     ;16
  135. BIT_6   .FILL x0020     ;32
  136. BIT_7   .FILL x0040     ;64
  137. BIT_8   .FILL x0080     ;128
  138. BIT_9   .FILL x0100     ;256
  139. BIT_10  .FILL x0200     ;512
  140. BIT_11  .FILL x0400     ;1024
  141. BIT_12  .FILL x0800     ;2048
  142. BIT_13  .FILL x1000     ;4096
  143. BIT_14  .FILL x2000     ;8192
  144. BIT_15  .FILL x4000     ;16384
  145. BIT_16  .FILL x8000     ;32708
  146. BIT_AA  .FILL xFFFE     ;Value to Add when BRz
  147. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  148.    
  149.  
  150. .END
Add Comment
Please, Sign In to add comment