| AND  | Употреба: | AND dest,src | | Резултат: | Извършва логическо И(AND) на две входни данни и замества dest с резултата. | | Пример: | AND BX,03h | | |  CALL  | Употреба: | CALL address | | Резултат: | Изпълнява функция на адрес 'address' | | Пример: | CALL 10284312 | | След завършването на функцията с командата ret изпълнението се връща на командата след CALL. |  CMP  | Употреба: | CMP dest,src | | Резултат: | Сравнява dest със src и променя флаговете . | | Пример: | CMP AX,03h | | Това е най-важната инструкция от наша гледна точка. С нея програмата проверява например: дали въведения сериен номер е еднакъв със истинския, дали времето през което ползваме програмата не е по-голямо от trial периода и т.н. Нормално тази инструкция предхожда инструкция за условен преход. |  Flags  | Флаговете приличат на регистрите , но за разлика от тях получават само две стойности true(истина) или false(лъжа) (или 0 и 1). Установяват се от команди като предходната CMP, и се ползват за проверка на резултата : CMP AX, BX ; Сравни AX с BX, и ако са равни zero flag e равен на 1 JZ 00124531 ; Ако zero flag е 1, скочи на 001254531 |  MOV  | Употреба: | MOV dest,src | | Резултат: | Премества стойността на dest в src | | Пример: | MOV AX,10 | | Използва се за преместване на стойност от едно място на друго. |  JMP  | Употреба: | JMP address | | Резултат: | Безусловен преход на адрес 'address' | | Пример: | JMP 00402011 | | JMP се ползва за безусловен преход (unconditional jump) на адрес. Има много разновидности на операторите за преход. Поради тяхната важност за нашата дейност са извадени в отделна таблица. Пример за ползване на CMP инструкцията: CMP RealSerial,BadSerial ; СравниИстинският сериен номер с грешния. JNE МахайСеЛошКракер ; Ако не са еднакви (If Not Equal) излез. |  Registers  | Регистрите обикновенно са мястото, където се съхраняват данните. Тези, които ни интересуват са: (E)AX, (E)BX, (E)CX, (E)DX (E) се появява, когато дебъгваме 32-Bit код. За регистрите засега е достатъчно да знаете, че са променливи които съхраняват данни. |  RET  | Употреба: | RET | | Резултат: | Връщане (return) от функция извикана с CALL. | | Пример: | RET | | Винаги ще видите тази команда на края на функция. Тя просто инструктира процесора да се върне на адреса след CALL. | 
Push и POP - две инструкции за използване на стека  Push | Употреба: | Push Register | | Резултат: | Поставя данни на върха на стека. | | Пример: | Push eax | | | Pop | Употреба: | Pop Register | | Резултат: | Поставя данни от върха на стека в регистър. | | Пример: | Pop eax | | | За да се изясни идеята ще дам за пример код, който разменя стойностите на EAX и ЕCX: push ecx поставя ecx в стека push eax поставя eax в стека pop ecx поставя стойността от върха на стека в ecx pop eax поставя стойността от върха на стека в eax 
download | Jump | Описание | Hex код | | JA | скочи ако е повече | jump if above | 77 или 0F87 | | JAE | скочи ако е повече или равно | jump if above or equal | 73 или 0F83 | | JB | скочи ако е по-ниско | jump if below | 72 или 0F82 | | JBE | скочи ако е по-ниско или равно | jump if below or equal | 76 или 0F86 | | JE | скочи ако е равно | jump if equal | 74 или 0F84 | | JG | скочи ако е по-голямо | jump if greater | 7F или 0F8F | | JGE | скочи ако е по-голямо или равно | jump if greater or equal | 7D или 0F8D | | JL | скочи ако е по-малко | jump if less | 7C или 0F8C | | JLE | скочи ако е по-малко или равно | jump if less or equal | 7E или 0F8E | | JMP | безусловен преход | EB | | JNA | скочи ако не е повече | jump if not above | 76 или 0F86 | | JNAE | скочи ако не е повече или равно | jump if not above or equal | 72 или 0F82 | | JNB | скочи ако не е по-ниско | jump if not below | 73 или 0F83 | | JNBE | скочи ако не е по-ниско или равно | jump if not below or equal | 77 или 0F87 | | JNE | скочи ако не е равно | jump if not equal | 75 или 0F85 | | JNG | скочи ако не е по-голямо | jump if not greater | 7E или 0F8E | | JNGE | скочи ако не е по-голямо или равно | jump if not greater or equal | 7C или 0F8C | | JNL | скочи ако не е по-малко | jump if not less | 7D или 0F8D | | JNLE | скочи ако не е по-малко или равно | jump if not less or equal | 7F или 0F8F | | JNZ | скочи ако не е нула | jump if not zero | 75 или 0F85 | | JZ | скочи ако е нула | Jump if zero | 74 или 0F84 | | NOP | не прави нищо | 90 | | Call | виж CALL | CALL ( Address/ ******** ) | E8******** | 
download В Асемблер се ползват шестнайсетичните стойности на символите. Всички те са включени в таблицата, която може да си свалите по-горе. |