Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. extern printf
  2.  
  3. global main
  4.  
  5. section .data
  6. napis_def: db 'domyslna',10,0
  7. napis_ovf: db 'przekroczono zakres',10,0
  8. napis_4: db 'cztery',10,0
  9. napis_5: db 'piec',10,0
  10. napis_8: db 'osiem',10,0
  11. tablica_liczb: dd 3,4,2,8,5,7,10,0xFFFFFFFF
  12. tablica_skokow: dq def,cztery,piec,def,def,osiem,def
  13.  
  14. section .text
  15. main:
  16.  
  17. mov r12,0
  18.  
  19. while:
  20. mov ebx,dword [tablica_liczb+4*r12]
  21. cmp ebx,0xFFFFFFFF
  22. je while_end
  23. inc r12
  24.  
  25. cmp ebx,3
  26. jb overflow
  27. cmp ebx,9
  28. ja overflow
  29.  
  30. sub ebx,3
  31.  
  32. jmp [tablica_skokow+8*ebx]
  33.  
  34. overflow:
  35. mov rdi,napis_ovf
  36. jmp switch_end
  37.  
  38. cztery:
  39. mov rdi,napis_4
  40. jmp switch_end
  41.  
  42. piec:
  43. mov rdi,napis_5
  44. jmp switch_end
  45.  
  46. osiem:
  47. mov rdi,napis_8
  48. jmp switch_end
  49.  
  50. def:
  51. mov rdi,napis_def
  52. jmp switch_end
  53.  
  54. switch_end:
  55. mov rax,0
  56. call printf
  57. jmp while
  58.  
  59. while_end:
  60. mov rax,1
  61. mov rbx,0
  62. int 80h
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement