Facebook
From asmaaa, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 203
  1. global _start
  2.  
  3. section .data
  4.  
  5. podaj db "podaj imie",10
  6. dl_podaj equ $-podaj
  7. podaj2 db "podaj nazwisko",10
  8. dl_podaj2 equ $-podaj2
  9.  
  10. section .bss
  11. imie resb 16
  12. nazwisko resb 16
  13.  
  14.  
  15. section .text
  16.  
  17. _start:
  18. mov rax,4
  19. mov rbx,1
  20. mov rcx,podaj
  21. mov rdx,dl_podaj
  22. int 80h
  23.  
  24. mov rax,3
  25. mov rbx,0
  26. mov rcx,imie
  27. mov rdx,16
  28. int 80h
  29.  
  30. mov rax,4
  31. mov rbx,1
  32. mov rcx,podaj2
  33. mov rdx,dl_podaj2
  34. int 80h
  35.  
  36. mov rax,3
  37. mov rbx,0
  38. mov rcx,nazwisko
  39. mov rdx,16
  40. int 80h
  41.  
  42.  
  43. mov rax,4
  44. mov rbx,1
  45. mov rcx,imie
  46. mov rdx,16
  47. int 80h
  48.  
  49. mov rax,4
  50. mov rbx,1
  51. mov rcx,nazwisko
  52. mov rdx,16
  53. int 80h
  54.  
  55.  
  56.  
  57. mov rax,1
  58. xor rbx,rbx
  59. int 80h
  60.  
  61. //kalkulator
  62.  
  63. global _start
  64.  
  65. section .data
  66. zma db 0
  67. zmb db 0
  68. suma db 0,10
  69. roznica db 0,10
  70. podaj db "podaj 1 liczbe",10
  71. dl_podaj equ $-podaj
  72. podaj2 db "podaj 2 liczbe",10
  73. dl_podaj2 equ $-podaj2
  74.  
  75. section .text
  76.  
  77. _start:
  78. mov rax,4
  79. mov rbx,1
  80. mov rcx,podaj
  81. mov rdx,dl_podaj
  82. int 80h
  83.  
  84. mov rax,3
  85. mov rbx,0
  86. mov rcx,zma
  87. mov rdx,2
  88. int 80h
  89.  
  90. mov rax,4
  91. mov rbx,1
  92. mov rcx,podaj2
  93. mov rdx,dl_podaj2
  94. int 80h
  95.  
  96. mov rax,3
  97. mov rbx,0
  98. mov rcx,zmb
  99. mov rdx,2
  100. int 80h
  101.  
  102. mov al,[zma]
  103. sub al,'0'
  104. mov [zma],al
  105.  
  106. mov al,[zmb]
  107. sub al,'0'
  108. mov [zmb],al
  109.  
  110. ;suma
  111. mov al,[zma]
  112. add al,[zmb]
  113. add al,'0'
  114. mov [suma],al
  115.  
  116. mov rax,4
  117. mov rbx,1
  118. mov rcx,suma
  119. mov rdx,2
  120. int 80h
  121.  
  122. ;roznica
  123. mov al,[zma]
  124. sub al,[zmb]
  125. add al,'0'
  126. mov [roznica],al
  127.  
  128. mov rax,4
  129. mov rbx,1
  130. mov rcx,roznica
  131. mov rdx,2
  132. int 80h
  133.  
  134.  
  135.  
  136. mov rax,1
  137. xor rbx,rbx
  138. int 80h
  139.  
  140. //kwadrat
  141.  
  142. global _start
  143.  
  144. section .data
  145. bok db 0
  146. znak db "*",0
  147. endl db 10
  148.  
  149. section .text
  150.  
  151. _start:
  152. mov rax,3
  153. mov rbx,0
  154. mov rcx, bok
  155. mov rdx,1
  156. int 80h
  157.  
  158. mov sil,[bok]
  159. sub sil,48
  160.  
  161. _petla:
  162. mov dil,[bok]
  163. sub dil,48
  164. cmp sil,0
  165. je _koniec
  166.  
  167. _petla2:
  168.  
  169. cmp dil,0
  170. je _endl
  171.  
  172. mov rax,4
  173. mov rbx,1
  174. mov rcx,znak
  175. mov rdx,1
  176. int 80h
  177.  
  178. dec dil
  179. jmp _petla2
  180.  
  181. _endl:
  182. mov rax,4
  183. mov rbx,1
  184. mov rcx,endl
  185. mov rdx,1
  186. int 80h
  187.  
  188. dec sil
  189. jmp _petla
  190.  
  191.  
  192.  
  193.  
  194. _koniec:
  195. mov rax,1
  196. xor rbx,rbx
  197. int 80h
  198.  
  199. //trojkat
  200. global _start
  201.  
  202. section .data
  203. bok db 0
  204. znak db "*",0
  205. endl db 10
  206.  
  207. section .text
  208.  
  209. _start:
  210. mov rax,3
  211. mov rbx,0
  212. mov rcx, bok
  213. mov rdx,1
  214. int 80h
  215.  
  216. mov sil,[bok]
  217. sub sil,48
  218.  
  219. mov dil,[bok]
  220. sub dil,48
  221. _petla:
  222.  
  223. cmp sil,0
  224. je _koniec
  225.  
  226.  
  227. _petla2:
  228.  
  229. cmp dil,0
  230. je _endl
  231.  
  232. mov rax,4
  233. mov rbx,1
  234. mov rcx,znak
  235. mov rdx,1
  236. int 80h
  237.  
  238. dec dil
  239. jmp _petla2
  240.  
  241.  
  242.  
  243. _endl:
  244. mov rax,4
  245. mov rbx,1
  246. mov rcx,endl
  247. mov rdx,1
  248. int 80h
  249.  
  250. dec sil
  251. mov  dil,sil
  252. jmp _petla
  253.  
  254.  
  255.  
  256.  
  257. _koniec:
  258. mov rax,1
  259. xor rbx,rbx
  260. int 80h
  261.  
  262. //max wart albo min, nie pamietam xd
  263. default rel
  264. global main
  265. extern scanf
  266. extern printf
  267.  
  268. section .data
  269.  
  270. format db "%d"
  271. format_wypisz db "najwieksza liczba to %d",10,0
  272.  
  273. tab TIMES 10 db 0
  274.  
  275. main:
  276.  
  277. push rbp
  278. mov rbp,rsp
  279.  
  280. mov r12,tab
  281. mov r14d,10
  282.  
  283. _petla:
  284.  
  285. cmp r14d,0
  286. je _dalej
  287.  
  288. mov rdi, format
  289. mov rsi,r12
  290. xor rax,rax
  291. call scanf wrt ..plt
  292.  
  293. dec r14d
  294. add r12,4
  295. jmp _petla
  296.  
  297. _dalej:
  298. mov r13d,[tab]
  299. mov r14d,1
  300. _lop:
  301.  
  302. cmp r14d,10
  303. je _koniec
  304.  
  305. cmp r13d,[tab+4*r14d]
  306. jl _mniejsza
  307.  
  308. mov r13d,[tab +r14d]
  309. _mniejsza:
  310. inc r14d
  311. jmp _lop
  312.  
  313. _koniec:
  314. mov rdi, format_wypisz
  315. mov esi,r13d
  316. xor rax,rax
  317. call printf wrt ..plt
  318. mov rsp,rbp
  319. pop rbp
  320.  
  321. ret
  322.  
  323. //wypisywanie ASCII
  324. section .data
  325. napis: db 0,10,0
  326. dlugosc_napisu equ $-napis
  327. liczba_iteracji: equ 128
  328.  
  329. section .bss
  330. licznik: resb 1
  331.  
  332. section .text
  333. global main
  334. main:
  335. mov byte [licznik],0
  336. _petla:
  337. mov rax, 4
  338. mov rbx, 1
  339. mov rcx, napis
  340. mov rdx, dlugosc_napisu
  341. int 80h
  342.  
  343. inc byte [licznik]
  344. inc byte [napis]
  345.  
  346. cmp byte [licznik], liczba_iteracji
  347. jnz _petla
  348. mov rax, 1
  349. mov rbx, 0
  350. int 80h
  351.  
  352.