Home mov lut(,%edx,2),%dx # odczytaj, z adresu lut+%edx*2, zapisz w %dx mov %dx, (%rdi,%rcx,2) # zapisz %dx do pamieci pod adres %rdi+%rcx*2 "wiaderko" - rejestr/to co w data mov wiaderko wiaderko # kopia wartosci jmp etykieta # skok do etykiety call etykieta # zapisuje na stosie %rip i jmp ret # skok do adresu na stosie syscall # wywolanie syscalla shr offset wiaderko # przesuniecie bitow w prawo shl offset wiaderko # przesuniecie bitow w lewo sub odjemna wiaderko # odjecie dec wiaderko # odjecie o jeden inc wiaderko # dodanie o jeden cmp wartosc wiaderko # porownanie dla jae jns itd. xchg wiaderko wiaderko # wymiana wartosci xor wiaderko wiaderko # bramka xor (jak rowne to zeruje) div wiaderko # wynik w %rax, reszta w %rdx push wiaderko # dodaje wartosc na stos pop wiaderko # pobiera wartosc i usuwa ze stosu ja etykieta # jmp if above jae etykieta # jmp if above or equal jb etykieta # jmp if below jbe etykieta # jmp if below or equal je etykieta # jmp if equal jna etykieta # jmp if not above jns etykieta # jmp if not signed (not negative) jnz etykieta # jmp if not zero jz etykieta # jmp if zero js etykieta # jmp if signed (negative) itd... --------------------------------------Float------------------------------------- https://galaxy.agh.edu.pl/~amrozek/AK/x87.pdf finit fstcw wiaderko # odczytaj control word do wiaderka fldcw wiaderko # zapisz control word z wiaderka fst(p)(t) wiaderko # p - pop, t - 80bit value r - liczby na odwrot, p - popnij z czym gdzie zapisac fadd(p) [wiaderko] [wiaderko] # dodaj fsub(r)(p) [wiaderko] [wiaderko] # odejmij fmul(p) [wiaderko] [wiaderko] # pomnoz fdiv(r)(p) [wiaderko] [wiaderko] # podziel fabs [wiaderko] [wiaderko] # bezwzgledna fchs [wiaderko] [wiaderko] # *(-1) fsqrt [wiaderko] [wiaderko] # pierwiastek fst[..] # odczytaj z fpu fld[..] # zapisz do fpu