Содержание
- 2. Система команд МП х86
- 4. Формат асемблерних команд мітка: мнемоніка операнд, операнд; коментар
- 5. MOV - пересилка (1-й Операнд) ← (2-й Операнд) MOV reg8/mem8,reg8 MOV reg16/mem16,reg16 MOV reg8,reg8/mem8 MOV reg16,reg16/mem16
- 6. Команди пересилання даних PUSH - запис у стек (SP) ← (SP) - 2 (Вершина стека) ←
- 7. Команди пересилання даних OUT − вивід у порт (Порт вводу-виводу) ← (Акумулятор). OUT port8,AL OUT port8,AX
- 8. Арифметичні команди (додавання) ADD − додавання двох операндів (1-й операнд) ← (1-й операнд)+ (2-й операнд) ADD
- 9. Арифметичні команди (додавання) INC − інкремент (Операнд) ← (Операнд) + 1 INC reg8/mem8 INC reg16/mem16 INC
- 10. Арифметичні команди (віднімання) SBB − віднімання з позикою (1-й операнд) ← (1-й операнд) - (2-й операнд)
- 11. Арифметичні команди (віднімання) NEG − заперечення (Операнд) ← 0- (Операнд) NEG reg8/mem8 NEG reg16/mem16 CMP −
- 12. Арифметичні команди (множення) MUL − множення двох операндів MUL reg8/mem8 MUL reg16/mem16 Однобайтова операція. (АХ) ←
- 13. Арифметичні команди (множення) IMUL − цілочислове множення зі знаком IMUL reg8/mem8 IMUL reg16/mem16 Однобайтова операція. (АХ)
- 14. Арифметичні команди (ділення) DIV − ділення двох операндів DIV reg8/mem8 DIV reg16/mem16 ((АХ): (Операнд) (AL) ←
- 15. Арифметичні команди (ділення) AAD − корекція коду ASCII при діленні (AL) ← частка від ділення (AL)
- 16. Логічні команди (маніпуляції з бітами) AND − логічне множення двох операндів (1-й операнд) ← (1-й операнд)
- 17. Логічні команди (маніпуляції з бітами) XOR − АБО, що виключає (1-й операнд) ← (1-й операнд) xor
- 18. Логічні команди (команди зсуву) SAL/SHL − арифметичний зсув вліво/логічний зсув вліво (CF) ← (Старший біт операнда),
- 19. Логічні команди (команди зсуву) SHR − логічний зсув вправо (CF) ← (Молодший біт операнда), (Операнд) ←
- 20. Логічні команди (команди циклічного зсуву) ROL − циклічний зсув вліво (CF) ← (Старший біт операнда) (Операнд)
- 21. Логічні команди (команди циклічного зсуву) RCL − циклічний зсув уліво з переносом (Тимчасовий біт) ← (СF)
- 22. Команди передачі керування (умовні) JA/JNBE − перехід, якщо більше/перехід, якщо не менше або дорівнює Якщо ((CF)
- 23. Команди передачі керування (умовні) JE/JZ − перехід, якщо дорівнює/перехід по нулі Якщо (ZF) = 1, то
- 24. Команди передачі керування (умовні) JNE/JNZ − перехід по нерівності/перехід, якщо не нуль Якщо (ZF) = 0,
- 25. Команди передачі керування (безумовні) JMP − безумовний перехід Межсегментний перехід: (CS) ← сегмент цільового операнда, (IP)
- 26. Команди передачі керування (безумовні) RET − повернення з процедури (IP) ← (Вершина стека), (SP) ← (SP)
- 27. Команди передачі керування (керування цикламі) LOOP − цикл (СХ) ← (СХ) - 1 Якщо (СХ) ≠
- 28. Команди обробки рядків (префікси повторення ) REP/REPE/REPZ − повторення/повторення, якщо дорівнює/повторення, якщо нуль REPNE/REPNZ – повторення,
- 29. Команди обробки рядків (порівняння) CMPS, CMPSB, CMPSW − порівняння рядків (операнд за адресою в регістрі SI)
- 30. Команди обробки рядків (сканування) SCAS, SCASB, SCASW − сканування рядка (Акумулятор) − (Операнд за адресою в
- 31. Команди керування станом процесора (роботи з прапорами) CLC − очищення прапора переносу (CF) ← 0 CLD
- 32. Команди керування станом процесора (роботи зі системними регістрами) LDS − завантаження покажчика в регістр DS (1-й
- 33. Команди керування станом процесора (роботи зі системними регістрами) INT − програмне переривання (SP) ← (SP) -
- 35. Скачать презентацию