1 / 28

Лекция 6. Режимы адресации. Основные команды процессора Intel 8086.

Министерство образования и науки Украины ГВУЗ «Донецкий национальный технический университет» Факультет компьютерных наук и технологий. Лекция 6. Режимы адресации. Основные команды процессора Intel 8086. «Компьютерная схемотехника и архитектура компьютеров». Часть II .

mili
Download Presentation

Лекция 6. Режимы адресации. Основные команды процессора Intel 8086.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Министерство образования и науки УкраиныГВУЗ «Донецкий национальный технический университет»Факультет компьютерных наук и технологий Лекция 6. Режимы адресации. Основные команды процессора Intel 8086.

  2. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Режимы адресации процессора Intel 8086 Режим адресации – способ вычисления исполнительного адреса операнда, участвующего в операции, или результата операции. Процессор Intel 8086 поддерживает следующие режимы адресации: • Непосредственная.Данное размера 1 или 2 байта является частью команды: MOV AX, 15h • Прямая. 16-битный эффективный адрес данного является частью команды. MOV AX, A Архитектура компьютеров

  3. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Режимы адресации процессора Intel 8086 Процессор Intel 8086 поддерживает следующие режимы адресации: • Регистровая. Данное содержится в одном из регистров процессора. MOV AX, SI • Косвенная регистровая. Исполнительный адрес операнда находится в базовом регистре ВХ или одном из индексных регистров SI, DI: MOV AX, [DI] • Относительная регистровая. Исполнительный адрес операнда определяется как сумма содержимого одного из регистров {BX, BP, SI, DI} и 8- или 16-разрядного смещения: MOV AX, [BX + 20] Архитектура компьютеров

  4. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Режимы адресации процессора Intel 8086 Процессор Intel 8086 поддерживает следующие режимы адресации: • Базовая с индексированием. Исполнительный адрес операнда определяется как сумма содержимого базового и индексного регистров, определяемых командой: MOV AX, [BX + SI] • Относительная базовая с индексированием. Исполнительный адрес операнда определяется как сумма базово-индексного адреса и 8- или 16-разрядного смещения : MOV AX, [BX + SI + 35] Архитектура компьютеров

  5. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Общая структура команды процессора Intel 8086 В общем случае команда процессора Intel 8086 включает: • код операции; • [постбайт]; • [значение операнда/адреса/смещения]. Код операцииопределяетразмервсей команды и структуру следующих за ним данных. Постбайт совместно с кодом операции определяет размер и источники операндов, а также тип адресации. Данные могут быть непосредственным операндом, абсолютным адресом или относительным смещением в зависимости от контекста. Архитектура компьютеров

  6. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Общая структура команды КОП – код операции. Определяет действие над данными. d (direction) – бит направления. При d = 0 результат записывается в 1-й операнд («из» регистра), при d = 1 результат записывается во 2-й операнд («в» регистр). w (word) – бит размера операндов. При w = 0 операция выполняется над данными размера 1 байт, при w = 1 размер операндов – слово (2 байта). Архитектура компьютеров

  7. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Общая структура команды Поле mod (mode)определяет режим адресации.При mod = {00, 01, 10} первый операнд находится в памяти и способ вычисления его адреса задается полем r/m.При mod = 11 первый операнд находится в одном из регистров. Поле reg (register) определяет местонахождение второго операнда, а именно – какой регистр процессора используется в текущей команде. Поле r/m (register/memory) задает способ получения исполнительного адреса первого операнда при mod = {00, 01, 10} или определяет регистр при mod = 11. Архитектура компьютеров

  8. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Общая структура команды Архитектура компьютеров

  9. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 Основные категории команд процессора Intel 8086 Команды процессора Intel8086 представлены следующими группами: • команды передачи данных; • арифметико-логические команды; • команды передачи управления; • команды управления процессором; • строковые операции. Архитектура компьютеров

  10. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV MOV dest, src dest – destination (приемник); src – source (источник). Передача данных из источника в приемник. Архитектура компьютеров

  11. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG XCHG dest, src dest – destination (приемник); src – source (источник). Обмен значений между двумя регистрами или регистром и ячейкой памяти. Архитектура компьютеров

  12. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG LEA LEA reg, var reg– один из регистров; var – имя переменной, метки, подпрограммы. Загрузка в регистр исполнительного адреса переменной, метки, подпрограммы. Архитектура компьютеров

  13. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG LEA PUSH PUSH src src – регистр, 16-разрядная ячейка памяти или сегментный регистр. Погрузить значение scr в стек. При этом указатель стека предварительно уменьшается на 2, после чего выполняется запись. Архитектура компьютеров

  14. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG LEA PUSH PUSHF PUSHF Погрузить значение регистра флагов в стек. Архитектура компьютеров

  15. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG LEA PUSH PUSHF POP POPdest dest (destination) – регистр общего назначения, 16-разрядная ячейка памяти или сегментный регистр. Извлечь одно значение с вершины стека и разместить в указанном операнде. Архитектура компьютеров

  16. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 1. Команды передачи данных MOV XCHG LEA PUSH PUSHF POP POPF POPF Извлечение слова с вершины стека в регистр флагов. Архитектура компьютеров

  17. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC INC dest DEC dest dest – регистр или 16-разрядный операнд в памяти. Увеличение (INC) или уменьшение (DEC) указанного значения на 1. Архитектура компьютеров

  18. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) ADD dest, src ADC dest, src dest, src – регистр или 16-разрядный операнд в памяти. Сложение двух операндов и запись результата в dest. ADD: dest := dest + src ADC: dest := dest + src + CF (флаг переноса). Архитектура компьютеров

  19. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) SUB dest, src SBB dest, src dest, src – регистр или 16-разрядный операнд в памяти. Команды арифметического вычитания: SUB: dest := dest - src SBB: dest := dest - src - CF (флаг переноса). Архитектура компьютеров

  20. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL MUL src src – источник второго операнда (регистр или память). Первый – всегда аккумулятор! MUL выполняет беззнаковое умножение, IMUL – знаковое. Команда умножения всегда увеличивает размер операнда! Архитектура компьютеров

  21. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV DIV src src – источник второго операнда (регистр или память). Первый – всегда аккумулятор! DIV выполняет беззнаковое деление, IDIV – знаковое. Команда умножения всегда уменьшает размер операнда! Архитектура компьютеров

  22. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NEG dest dest – источник операнда (регистр или память). Команда меняет знак операнда. Архитектура компьютеров

  23. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT NOT dest dest – источник операнда (регистр или память). Команда инвертирует все разряды операнда. Архитектура компьютеров

  24. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT AND, TEST AND dest, src TEST dest, src Команды логического умножения двух операндов. AND записывает результат в dest, TEST просто формирует флаги, без записи результата! Архитектура компьютеров

  25. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT AND, TEST OR, XOR ORdest, src XOR dest, src Команды логического сложения и исключающего ИЛИ над двумя операндами. Архитектура компьютеров

  26. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT AND, TEST OR, XOR CMP CMP dest, src CMP выполняет вычитание операндов, но не сохраняет результаты, а только формирует флаги! Архитектура компьютеров

  27. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT AND, TEST OR, XOR CMP CBW(CWD) CBW CWD Convert Byte to Word, Convert Word to Double word Специальные команды расширения аккумулятора. CBW расширяет AL до AX, заполняя AH знаковым разрядом. CWD заполняет знаковым разрядом из AX весь регистр DX. CBW и CWD чаще всего используются перед делением. Архитектура компьютеров

  28. «Компьютерная схемотехника и архитектура компьютеров». Часть II. Лекция 6. Основные команды процессора Intel 8086 2. Арифметико-логические команды INC, DEC ADD (ADC) SUB (SBB) (I)MUL (I)DIV NEG NOT AND, TEST OR, XOR CMP CBW(CWD) Сдвиги Команды сдвиговых операций Схемы сдвигов и соответствующие команды языка ассемблерапроцессора Intel 8086 самостоятельно! Архитектура компьютеров

More Related