Advertisement
Guest User

Untitled

a guest
May 17th, 2019
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %macro sum 3
  2. pushf
  3. pusha
  4. mov eax,[%1]
  5. add eax,[%2]
  6. mov [%3],eax
  7. popa
  8. popf
  9. %endmacro
  10.  
  11. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13.  
  14. %macro readnum 1
  15. pusha
  16. pushf
  17.  
  18. mov eax,3
  19. mov ebx,2
  20. mov ecx,%1
  21. mov edx,15
  22. int 0x80
  23.  
  24. mov edi,%1
  25. %%lll:
  26. mov al,[edi]
  27. cmp al,10
  28. je %%kk
  29. inc edi
  30. inc esi
  31. loop %%lll
  32. %%kk:
  33.  
  34. mov edi,%1
  35.  
  36. mov bl,[%1]
  37. cmp bl,'-'
  38. jne %%f
  39. dec esi
  40. inc edi
  41. %%f:
  42.  
  43. xor eax,eax
  44. mov ecx,esi
  45. add edi,esi
  46. dec edi
  47. %%ll:
  48. mov al,[edi]
  49. sub al,'0'
  50. push eax
  51. dec edi
  52. loop %%ll
  53.  
  54. pop eax
  55. mov ecx,esi
  56. dec ecx
  57. cmp ecx,0
  58. jle %%r
  59. %%l:
  60. mov ebx,10
  61. mul ebx
  62. pop edx
  63. add eax,edx
  64. cmp ecx,0
  65. loop %%l
  66. %%r:
  67.  
  68. mov bl,[%1]
  69. cmp bl,'-'
  70. jne %%f1
  71. neg eax
  72. %%f1:
  73.  
  74. mov ebp,esp
  75. add ebp,32
  76. mov [ebp],eax
  77.  
  78. popf
  79. popa
  80. %endmacro
  81.  
  82. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  83. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  84.  
  85. %macro lowword_edx 1
  86. pushf
  87. pusha
  88.  
  89. mov eax,%1
  90. add eax,3
  91. mov ch,[eax]
  92. dec eax
  93. mov cl,[eax]
  94. shl ecx,16
  95.  
  96. mov eax,%1
  97. add eax,1
  98. mov ch,[eax]
  99. dec eax
  100. mov cl,[eax]
  101.  
  102. mov ebp,esp
  103. add ebp,20
  104. mov [ebp],ecx
  105.  
  106. popa
  107. popf
  108. %endmacro
  109.  
  110. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  111. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  112.  
  113. %macro highword_edx 1
  114. pushf
  115. pusha
  116.  
  117. mov eax,%1
  118. add eax,7
  119. mov ch,[eax]
  120. dec eax
  121. mov cl,[eax]
  122. shl ecx,16
  123.  
  124. mov eax,%1
  125. add eax,5
  126. mov ch,[eax]
  127. dec eax
  128. mov cl,[eax]
  129.  
  130. mov ebp,esp
  131. add ebp,20
  132. mov [ebp],ecx
  133.  
  134. popa
  135. popf
  136. %endmacro
  137.  
  138. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  139. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  140.  
  141. %macro sumq 3
  142. pushf
  143. pusha
  144.  
  145. lowword_edx %1
  146. mov eax,edx
  147. lowword_edx %2
  148. mov ebx,edx
  149. highword_edx %1
  150. mov ecx,edx
  151. highword_edx %2
  152.  
  153. add eax,ebx
  154. adc ecx,edx
  155.  
  156. mov [%3],al
  157. mov [%3+1],ah
  158. shr eax,16
  159. mov [%3+2],al
  160. mov [%3+3],ah
  161.  
  162. mov [%3+4],cl
  163. mov [%3+5],ch
  164. shr ecx,16
  165. mov [%3+6],cl
  166. mov [%3+7],ch
  167.  
  168. popa
  169. popf
  170. %endmacro
  171.  
  172. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  173. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  174.  
  175. %macro print4bitHIGH 1
  176. pushf
  177. pusha
  178.  
  179. mov dx,%1
  180.  
  181. cmp dh,1
  182. jne r1
  183. PRINT "1"
  184. r1:
  185.  
  186. cmp dh,2
  187. jne r2
  188. PRINT "2"
  189. r2:
  190.  
  191. cmp dh,3
  192. jne r3
  193. PRINT "3"
  194. r3:
  195.  
  196. cmp dh,4
  197. jne r4
  198. PRINT "4"
  199. r4:
  200.  
  201. cmp dh,5
  202. jne r5
  203. PRINT "5"
  204. r5:
  205.  
  206. cmp dh,6
  207. jne r6
  208. PRINT "6"
  209. r6:
  210.  
  211. cmp dh,7
  212. jne r7
  213. PRINT "7"
  214. r7:
  215.  
  216. cmp dh,8
  217. jne r8
  218. PRINT "8"
  219. r8:
  220.  
  221. cmp dh,9
  222. jne r9
  223. PRINT "9"
  224. r:
  225.  
  226. cmp dh,10
  227. jne r10
  228. PRINT "A"
  229. r10:
  230.  
  231. cmp dh,11
  232. jne r11
  233. PRINT "B"
  234. r11:
  235.  
  236. cmp dh,12
  237. jne r12
  238. PRINT "C"
  239. r12:
  240.  
  241. cmp dh,13
  242. jne r13
  243. PRINT "D"
  244. r13:
  245.  
  246. cmp dh,14
  247. jne r14
  248. PRINT "E"
  249. r14:
  250.  
  251. cmp dh,15
  252. jne r15
  253. PRINT "F"
  254. r15:
  255.  
  256. popa
  257. popf
  258. %endmacro
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement