Advertisement
matogens

zad2

Apr 30th, 2019
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. default rel
  2. global main
  3. extern scanf
  4. extern printf
  5.  
  6. section .data
  7.  
  8. format db "%d", 0
  9.  
  10. punkty dd 0
  11.  
  12. dwa dd 2
  13. trzy dd 3
  14. cztery dd 4
  15. piec dd 5
  16.  
  17. tab dq _dwa,_dwa,_dwa,_dwa,_dwa,_trzy,_trzy,_trzy,_cztery,_cztery,_cztery,_piec,_piec,_piec,_def
  18.  
  19. dwa1 db "dwa", 10,0
  20.  
  21. trzy1 db "trzy", 10,0
  22.  
  23. cztery1 db "cztery", 10,0
  24.  
  25. piec1 db "piec", 10,0
  26.  
  27. blad db "blad", 10,0
  28.  
  29. section .text
  30.  
  31. main:
  32.  
  33.     push rbp
  34.     mov rbp, rsp
  35.  
  36.     mov rdi, format
  37.     mov rsi, punkty
  38.     xor rax, rax
  39.     call scanf wrt ..plt
  40.  
  41.     mov esi, [punkty]
  42.     cmp esi, 0
  43.     jl _def
  44.  
  45.     cmp esi, 10
  46.     jg _def
  47.  
  48.     jmp qword [tab+8*rsi]
  49.  
  50. _dwa:
  51.  
  52.     mov rdi, dwa1
  53.     xor rax, rax
  54.     call printf wrt ..plt
  55.     jmp _koniec
  56.  
  57. _trzy:
  58.  
  59.     mov rdi, trzy1
  60.     xor rax, rax
  61.     call printf wrt ..plt
  62.     jmp _koniec
  63.  
  64.  
  65. _cztery:
  66.    
  67.     mov rdi, cztery1
  68.     xor rax, rax
  69.     call printf wrt ..plt
  70.     jmp _koniec
  71.  
  72. _piec:
  73.  
  74.  
  75.     mov rdi, piec1
  76.     xor rax, rax
  77.     call printf wrt ..plt
  78.     jmp _koniec
  79.  
  80. _def:
  81.  
  82.     mov rdi, blad
  83.     xor rax, rax
  84.     call printf wrt ..plt
  85.     jmp _koniec
  86.  
  87. _koniec:
  88.  
  89.     mov rsp, rbp
  90.     pop rbp
  91.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement