Guest User

Untitled

a guest
Apr 19th, 2025
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. label loop
  2. MOV INPUT TO RAM
  3. ADD_VAR_CST REG5 1 REG5 # REG5+1, store REG5
  4. 98 REG5 15 loop
  5.  
  6. MOV REG5 TO REG3
  7. 65 REG3 1 REG3 # len()-1
  8. label loop1
  9. COPY_CONST 0 TO REG5
  10. COPY_CONST 0 TO REG4
  11.  
  12.     label loop2
  13.     MOV RAM TO REG0
  14.     MOV REG5 TO REG2
  15.     ADD_VAR_CST REG5 1 REG5
  16.     MOV RAM TO REG1
  17.     MOV REG2 TO REG5
  18.    
  19.     IF_GRT REG0 REG1 replace
  20.    
  21.     label fwd_REG5
  22.     ADD_VAR_CST REG5 1 REG5
  23.    
  24.     IF_LES REG5 REG3 loop2
  25.     96 REG4 1 loop1
  26.     COPY_CONST 0 TO REG5
  27.     JMP NOW TO output_sorted
  28.  
  29. label replace
  30.     MOV REG1 TO RAM
  31.     ADD_VAR_CST REG5 1 REG5
  32.     MOV REG0 TO RAM
  33.    
  34.     COPY_CONST 1 TO REG4
  35.     JMP NOW TO fwd_REG5
  36.    
  37. label output_sorted
  38. MOV RAM TO OUTPUT
  39. ADD_VAR_CST REG5 1 REG5
  40. JMP NOW TO output_sorted
  41.  
  42. "Equivalent" Python code:
  43.  
  44. l = [5,10,2,200,150,120,190,210, 0, 0, 0, 0]
  45.  
  46. REG0 = 0 # elem A
  47. REG1 = 0 # elem B
  48. REG2 = 0
  49. REG3 = 0 # size list
  50. REG4 = 1 # swap occured
  51. REG5 = 0 # program counter
  52.  
  53. while l[REG5] != 0:
  54.     REG3 += 1
  55.     REG5 += 1
  56.  
  57. REG3 -= 1
  58.  
  59. while REG4 == 1:
  60.     REG5 = 0
  61.     REG4 = 0
  62.  
  63.     while REG5 < REG3:
  64.         REG0 = l[REG5]
  65.         REG2 = REG5
  66.         REG5 += 1
  67.         REG1 = l[REG5]
  68.         REG5 = REG2
  69.  
  70.         if REG0 > REG1:
  71.             l[REG5] = REG1
  72.             REG5 += 1
  73.             l[REG5] = REG0
  74.  
  75.             REG4 = 1
  76.  
  77.         REG5 += 1
  78.  
  79. print(l)
Advertisement
Add Comment
Please, Sign In to add comment