Advertisement
matogens

zad1

Apr 30th, 2019
131
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. a dd 0
  11.  
  12. tab dq _dwa,_trzy,_cztery,_piec,_def
  13.  
  14. dwa db "dwa",10,0
  15. trzy db "trzy", 10,0
  16. cztery db "cztery", 10,0
  17. piec db "piec", 10,0
  18. blad db "blad", 10,0
  19.  
  20. section .text
  21.  
  22.  
  23. main:
  24.  
  25.     push rbp
  26.     mov rbp, rsp
  27.  
  28.  
  29.     mov rdi, format
  30.     mov rsi, a
  31.     xor rax, rax
  32.     call scanf wrt ..plt
  33.  
  34.     mov esi, [a]
  35.    
  36.     cmp esi, 2
  37.    
  38.     jl _def
  39.  
  40.     cmp esi, 5
  41.  
  42.     jg _def
  43.  
  44. jmp qword [tab+8*esi-16]
  45.  
  46. _dwa:
  47.  
  48.     mov rdi, dwa
  49.     xor rax, rax   
  50.     call printf wrt ..plt
  51.     jmp _koniec
  52.    
  53. _trzy:
  54.  
  55.     mov rdi, trzy
  56.     xor rax, rax
  57.     call printf wrt ..plt
  58.     jmp _koniec
  59.  
  60. _cztery:
  61.  
  62.     mov rdi, cztery
  63.     xor rax, rax
  64.     call printf wrt ..plt
  65.     jmp _koniec
  66.  
  67. _piec:
  68.  
  69.     mov rdi, piec
  70.     xor rax, rax
  71.     call printf wrt ..plt
  72.     jmp _koniec
  73.  
  74. _def:
  75.  
  76.     mov rdi, blad
  77.     xor rax, rax
  78.     call printf wrt ..plt
  79.  
  80. _koniec:
  81.  
  82.     mov rsp, rbp
  83.     pop rbp
  84.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement