Assembler x86 Flashcards
Registry procesoru
●64bit: RAX, RBX, RCX, R8 - R15
● 32bit: začínají E, R8D - R15D
● 16bit: AX, BX … , R8W - R15W
● 8bit: AH (high), AL (low), BH,
Adresování, spojování JSI a C.
● Adresování:
○ Např: mov rax, qword [ rdi + rbx * 8 ]
● Datové typy:
○ BYTE, WORD, DWORD, QWORD (8, 16, 32, 64 bit)
● Spojování:
○ JSI: píšeme “global” před funkce a proměnné z C
Základní instrukce přesunu, bitové, logické, aritmetické.
● Přesunu:
○ mov, movzx, movsx (rozšíří i se znaménkem)
● Logické:
○ AND cíl, zdroj
○ OR, XOR, NOT
● Bitové:
○ SHL, SHR (bitový posun)
○ BOR, BOL (bitová rotace)
● Aritmetické:
○ ADD, SUB, NEG, INC, DEC
Skokové instrukce nepodmíněné a podmíněné.
Skokové:
jmp, je, jne, jg, jl
CALL - pro volání funkcí
co předchazí skokům
Porovnání: Сравнение:
Nastavení příznaků: Установка флагов:
Skoky: Переходы