Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. %include "io.inc"
  2.  
  3. section .bss
  4. dp resd 1500
  5. n resd 1
  6. k resd 1
  7. tmp resd 1
  8. on resd 1
  9. tw resd 1
  10.  
  11. section .data
  12. ans dd 0
  13.  
  14. section .text
  15. global CMAIN
  16. CMAIN:
  17. GET_DEC 4, n
  18. GET_DEC 4, k
  19. mov ecx, 32 * 32 * 4
  20. ;mov dword[dp], 1
  21. .l1:
  22. mov dword[dp + ecx], 1
  23. sub ecx, 4
  24. cmp ecx, 0
  25. jne .l1
  26. mov ecx, 32 * 32 * 4
  27. mov dword[dp], 1
  28. .l2:
  29. mov dword[dp + ecx], 1
  30. sub ecx, 128
  31. cmp ecx, 0
  32. jne .l2
  33. mov ecx, 128
  34. .l3:
  35. mov ebx, 4
  36. .l4:
  37. add ecx, ebx
  38. mov edx, dword[dp + ecx - 132]
  39. add edx, dword[dp + ecx - 128]
  40. mov dword[dp + ecx], edx
  41. sub ecx, ebx
  42. add ebx, 4
  43. cmp ebx, 128
  44. jne .l4
  45. add ecx, 128
  46. cmp ecx, 128 * 32
  47. jne .l3
  48. ; mas created
  49. mov ecx, 0
  50. mov ebx, 0
  51. mov eax, dword[n]
  52. mov esi, dword[k]
  53. mov edx, 0
  54. inc eax
  55. mov ebx, 1
  56. mov ecx, 31
  57. sal ebx, 31
  58. .l5:
  59. mov dword[on], eax
  60. mov dword[tw], ebx
  61. test eax, ebx
  62. jg .b1
  63. mov eax, dword[on]
  64. mov ebx, dword[tw]
  65. sar ebx, 1
  66. dec ecx
  67. jmp .l5
  68. .b1:
  69.  
  70. mov dword[tmp], ecx
  71. dec ecx
  72.  
  73. .l6:
  74. mov dword[on], ecx
  75. mov dword[tw], esi
  76. imul ecx, 4 * 32
  77. imul esi, 4
  78. add ecx, esi
  79. add edx, dword[dp + ecx]
  80. mov dword[ans], edx
  81. mov ecx, dword[on]
  82. mov esi, dword[tw]
  83. dec ecx
  84. cmp ecx, esi
  85. jge .l6
  86. mov dword[ans], edx
  87. ;PRINT_DEC 4, ans
  88. ;NEWLINE
  89. mov ecx, dword[tmp]
  90. .l7:
  91. sar ebx, 1
  92. dec ecx
  93. cmp ebx, 0
  94. je .end
  95. cmp dw
  96. cmp esi, 0
  97. je .end
  98. test ebx, eax
  99. jnz .l8
  100. dec esi
  101. jmp .l7
  102. .l8:
  103. mov dword[on], ecx
  104. mov dword[tw], esi
  105. dec esi
  106. cmp esi, ecx
  107. jg .l9
  108. imul ecx, 128
  109. imul esi, 4
  110. add ecx, esi
  111. add edx, dword[dp + ecx]
  112. mov dword[ans], edx
  113. .l9:
  114. mov ecx, dword[on]
  115. mov esi, dword[tw]
  116. jmp .l7
  117.  
  118.  
  119.  
  120. .end:
  121. PRINT_DEC 4, ans
  122. xor eax, eax
  123. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement