Advertisement
filashkov

Untitled

Mar 9th, 2020
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %include "io.inc"
  2.  
  3. section .data
  4.     n dd 31
  5.    
  6. section .bss
  7.     a resd 600
  8.     number
  9.  
  10. section .text
  11. global CMAIN
  12. CMAIN:
  13.     mov edx, 0
  14.     mov [a], dword 1
  15.     mov esi, 1          ; esi = current_index
  16.    
  17.     mov eax, 0          ; eax = i
  18.    
  19. .for_i_eax:
  20.     cmp eax, dword [n]
  21.         jz .stop_for_i_eax
  22.            
  23.             mov [a + 4 * esi], dword 1          ; a.append(1)
  24.             inc esi
  25.            
  26.             mov ebx, 0                          ; ebx = j
  27.            
  28.             .for_j_ebx:
  29.                 cmp ebx, eax
  30.                     jz .stop_for_j_ebx
  31.                        
  32.                         mov edi, eax
  33.                        
  34.                         inc eax
  35.                         imul edi
  36.                        
  37.                         mov ecx, 2
  38.                         div ecx
  39.                         add eax, ebx
  40.                        
  41.                         mov ecx, [a + 4 * eax]
  42.                         add ecx, [a + 4 * eax + 4]
  43.                        
  44.                         mov [a + 4 * esi], ecx
  45.                         inc esi
  46.                        
  47.                         mov eax, edi
  48.                        
  49.                     inc ebx
  50.                     jmp .for_j_ebx  
  51.                    
  52.             .stop_for_j_ebx:
  53.            
  54.             mov [a + 4 * esi], dword 1          ; a.append(1)
  55.             inc esi
  56.            
  57.         inc eax
  58.         jmp .for_i_eax
  59.                
  60. .stop_for_i_eax:    
  61.    
  62.     mov eax, 0
  63.    
  64. .print_for_eax:
  65.     cmp eax, dword 100
  66.         jz .stop_print_for_eax
  67.            
  68.             ;PRINT_UDEC 4, [a + 4 * eax]
  69.             ;PRINT_CHAR ' '
  70.            
  71.         inc eax
  72.         jmp .print_for_eax
  73.        
  74. .stop_print_for_eax:
  75.    
  76.     GET_UDEC 1, eax
  77.    
  78.     mov ecx, 0
  79.     mov esi, 0
  80.    
  81. .for_number_ecx
  82.    
  83.     xor eax, eax
  84.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement