Różne programy na zajęcia laboratoryjne z AK2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

echo.s 924B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # Jan Potocki 2022
  2. # Definicje numerow funkcji systemowych i ich argumentow
  3. SYSEXIT = 1
  4. SYSREAD = 3
  5. SYSWRITE = 4
  6. STDIN = 0
  7. STDOUT = 1
  8. SYSCALL32 = 0x80
  9. # Stale
  10. buff_len = 1
  11. end_char = 'Q'
  12. .global _start
  13. .bss
  14. # Bufor na czytany znak
  15. buff: .space buff_len
  16. .text
  17. _start:
  18. mov $SYSREAD, %eax # Wczytanie znaku ze standardowego wejscia
  19. mov $STDIN, %ebx # ...funkcja systemowa read
  20. mov $buff, %ecx
  21. mov $buff_len, %edx
  22. int $SYSCALL32
  23. mov $end_char, %eax # Sprawdzenie, czy wczytano znak konczacy
  24. cmp %eax, buff
  25. je koniec # ...jezeli tak, skok na koniec
  26. mov $SYSWRITE, %eax # Wypisanie znaku na standardowe wyjscie
  27. mov $STDOUT, %ebx # ...funkcja systemowa write
  28. mov $buff, %ecx
  29. mov $buff_len, %edx
  30. int $SYSCALL32
  31. jmp _start # Skok na poczatek (petla)
  32. koniec:
  33. mov $SYSEXIT, %eax # Funkcja systemowa exit...
  34. mov $0, %ebx # ...kod zakonczenia 0
  35. int $SYSCALL32