Инфоурок Информатика ПрезентацииАссемблер Intel 8086 Команды пересылки данных

Ассемблер Intel 8086 Команды пересылки данных

Скачать материал
Скачать материал "Ассемблер Intel 8086 Команды пересылки данных"

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по корпоративной культуре

Описание презентации по отдельным слайдам:

  • Ассемблер Intel 8086Команды пересылки данныхБазовый набор команд для пересылк...

    1 слайд

    Ассемблер Intel 8086
    Команды пересылки данных
    Базовый набор команд для пересылки данных между регистрами, памятью и устройствами ввода-вывода:

    INLAHFLDS
    LEALESMOV
    OUTPOPPOPF
    PUSHPUSHFSAHF
    XCHGXLAT

  • Ассемблер Intel 8086Команды пересылки данных: movОбщий формат: mov Operand1,...

    2 слайд

    Ассемблер Intel 8086
    Команды пересылки данных: mov
    Общий формат: mov Operand1, Operand2
    Действие: Operand1 := Operand2
    Описание: команда предназначена для передачи значения второго операнда первому. В зависимости от описания операндов пересылается слово или байт. Если операнды описаны по-разному или нельзя однозначно определить размер операнда, используется один из атрибутных операторов: byte ptr или word ptr.
    Особенность: запрещены пересылки из ячейки памяти в ячейку памяти.
    Примеры:
    mov AX, BX
    mov AH, Mem_DB
    mov Mem_DW, CX
    mov DS, AX
    mov DX, ES
    mov Value_SS, SS
    mov CH, 200
    mov Mem_DB, 200
    mov word ptr [bx], 1; mov byte ptr [bx], 1

  • Ассемблер Intel 8086Команды пересылки данных: push, popОбщий формат: push Ope...

    3 слайд

    Ассемблер Intel 8086
    Команды пересылки данных: push, pop
    Общий формат: push Operand
    Действие: занесение операнда в стек.
    Описание: содержимое указателя стека SP уменьшается на 2, после чего по адресу SS:SP заносится двухбайтовый операнд.

    Общий формат: pop Operand
    Действие: извлечение слова из стека.
    Описание: слово, содержащееся по адресу SS:SP, пересылается по адресу операнда-приёмника, после чего содержимое регистра SP увеличивается на 2.

    Особенность команд push и pop: операндами могут быть только 16-разрядные регистры (кроме CS) или ячейки памяти.

  • Ассемблер Intel 8086Команды пересылки данных: push, popПример: поменять содер...

    4 слайд

    Ассемблер Intel 8086
    Команды пересылки данных: push, pop
    Пример: поменять содержимое двух регистров (AX, BX) местами, используя стек.
    Push AX; поместить AX в стек
    Push BX; поместить BX в стек
    Pop AX; извлечь информацию …
    Pop BX; … в нужном для решения задачи порядке

  • Ассемблер Intel 8086Команды пересылки данных: xchgОбщий формат: xchg Operand1...

    5 слайд

    Ассемблер Intel 8086
    Команды пересылки данных: xchg
    Общий формат: xchg Operand1, Operand2
    Действие: Operand1 и Operand2 обмениваются значениями.
    Особенность: запрещён обмен значениями ячейки памяти с ячейкой памяти.
    Примеры:
    Xchg AX, Mem_DW
    Xchg AX, BX

  • Ассемблер Intel 8086Команды пересылки данных: lea, lds, lesОбщий формат: lea...

    6 слайд

    Ассемблер Intel 8086
    Команды пересылки данных: lea, lds, les
    Общий формат: lea Reg16, Mem
    Действие: загрузка в регистр Reg16 смещения ячейки памяти Mem.
    Особенность: Reg16 не может быть сегментным регистром.

    Общий формат: lds Reg16, Mem32
    Действие: загрузка далёкого адреса из ячейки памяти Mem32 в регистры DS:Reg16, при этом младшая часть ячейки записывается в Reg16, а старшая – в регистр DS.
    Особенность: Reg16 не может быть сегментным регистром.

    Общий формат: les Reg16, Mem32
    Действие: загрузка далёкого адреса из ячейки памяти Mem32 в регистры ES:Reg16, при этом младшая часть ячейки записывается в Reg16, а старшая – в регистр ES.
    Особенность: Reg16 не может быть сегментным регистром.

  • Ассемблер Intel 8086Арифметические операцииБазовый набор арифметических опера...

    7 слайд

    Ассемблер Intel 8086
    Арифметические операции
    Базовый набор арифметических операций для работы с целыми числами:

    AAAAADAAMAAS
    ADCADDCBWCMP
    CWDDAADASDEC
    DIVIDIVIMULINC
    MULNEGSBBSUB

  • Ассемблер Intel 8086Арифметические операции: add, adcОбщий формат: add Operan...

    8 слайд

    Ассемблер Intel 8086
    Арифметические операции: add, adc
    Общий формат: add Operand1, Operand2
    Действие: Operand1 := Operand1 + Operand2
    Описание: сложение двух целых чисел со знаком или без знака.
    Особенность: Operand1 и Operand2 не могут быть ячейками памяти одновременно.

    Общий формат: adc Operand1, Operand2
    Действие: Operand1 := Operand1 + Operand2 + CF.
    Описание: сложение двух целых чисел со знаком или без знака, при этом в операции принимает участие и флаг переноса из регистра флагов.
    Особенность: Operand1 и Operand2 не могут быть ячейками памяти одновременно.

    Пример: сложение двух 32-разрядных чисел (операнд1 – BX:AX, операнд2 – DX:CX)
    Add AX, CX
    Adc BX, DX

  • Ассемблер Intel 8086Арифметические операции: sub, sbbОбщий формат: sub Operan...

    9 слайд

    Ассемблер Intel 8086
    Арифметические операции: sub, sbb
    Общий формат: sub Operand1, Operand2
    Действие: Operand1 := Operand1 – Operand2
    Описание: вычитание двух целых чисел со знаком или без знака.
    Особенность: Operand1 и Operand2 не могут быть ячейками памяти одновременно.

    Общий формат: sbb Operand1, Operand2
    Действие: Operand1 := Operand1 – Operand2 – CF.
    Описание: вычитание двух целых чисел со знаком или без знака, при этом в операции принимает участие и флаг переноса из регистра флагов.
    Особенность: Operand1 и Operand2 не могут быть ячейками памяти одновременно.

  • Ассемблер Intel 8086Арифметические операции: mul, imulОбщий формат: mul Opera...

    10 слайд

    Ассемблер Intel 8086
    Арифметические операции: mul, imul
    Общий формат: mul Operand
    Описание: умножение двух целых чисел без знака. Первый операнд хранится в регистре AL (при умножении байтов) или AX (при умножении слов), второй операнд задаётся в команде. Результат помещается в регистр AX или в регистры DX:AX соответственно.
    Особенность: разрядность операции задаётся разрядностью Operand.

    Общий формат: imul Operand
    Описание: умножение двух целых чисел со знаком. Первый операнд хранится в регистре AL (при умножении байтов) или AX (при умножении слов), второй операнд задаётся в команде. Результат помещается в регистр AX или в регистры DX:AX соответственно.
    Особенность: разрядность операции задаётся разрядностью Operand.

    Пример:
    Mov AX, 100h
    Mul AX; = AX*AX, результат – DX:AX

  • Ассемблер Intel 8086Арифметические операции: div, idivОбщий формат: div Opera...

    11 слайд

    Ассемблер Intel 8086
    Арифметические операции: div, idiv
    Общий формат: div Operand
    Описание: деление двух целых чисел без знака.
    Особенность: разрядность операции задаётся разрядностью делителя – Operand.

    Общий формат: idiv Operand
    Описание: деление двух целых чисел со знаком.
    Особенность: разрядность операции задаётся разрядностью делителя – Operand.

  • Ассемблер Intel 8086Арифметические операции: cmpОбщий формат: cmp Operand1, O...

    12 слайд

    Ассемблер Intel 8086
    Арифметические операции: cmp
    Общий формат: cmp Operand1, Operand2
    Описание: выполняется сравнение двух операндов путём вычитания второго операнда из первого. Результат операции не записывается, вместо этого устанавливаются значения флагов в регистре флагов процессора.

  • Ассемблер Intel 8086Команды передачи управленияБазовый набор команд передачи...

    13 слайд

    Ассемблер Intel 8086
    Команды передачи управления
    Базовый набор команд передачи управления:

    CALLJMPRETJA
    JAEJBJBEJC
    JCXZJEJGJGE
    JLJLEJNAJNAE
    JNBJNBEJNCJNE
    JNGJNGEJNLJNLE
    JNOJNPJNSJNZ
    JOJPJPEJPO
    JSJZ LOOPLOOPE
    LOOPNELOOPNZLOOPZ

  • Ассемблер Intel 8086Команды передачи управления: jmpОбщий формат: jmp Target...

    14 слайд

    Ассемблер Intel 8086
    Команды передачи управления: jmp
    Общий формат: jmp Target
    Описание: выполняется передача управления по адресу, заданному параметром команды Target. Адрес может задаваться как напрямую (с помощью метки), так и с помощью регистров и ячеек памяти.
    Особенность: переход внутри одного сегмента задаётся только смещением, переход между сегментами задаётся полным адресом.
    Виды безусловных переходов:
    1) прямой короткий (пример: jmp short Point1);
    2) прямой ближний (пример: jmp near ptr Point2);
    3) прямой дальний (пример: jmp far ptr Point3);
    4) косвенный ближний (пример: jmp word ptr [SI+2]);
    5) косвенный дальний (пример: jmp dword ptr [DX]).

    Другие примеры:
    jmp BX
    jmp SkipAdd
    jmp dword ptr AddrTable[SI+2]

  • Ассемблер Intel 8086Команды передачи управления: j?*Общий формат: j?* Target...

    15 слайд

    Ассемблер Intel 8086
    Команды передачи управления: j?*
    Общий формат: j?* Target
    Описание: при выполнении некоторого условия выполняется передача управления по адресу, заданному параметром команды Target. Адрес может задаваться как напрямую (с помощью метки), так и с помощью регистров и ячеек памяти.
    Особенность: выполняется только короткий переход, т.е. адрес, заданный операндом Target, должен быть расположен в диапазоне от -128 до +127 байтов от адреса, хранимого в регистре IP.

    При написании команд удобно пользоваться сокращениями:
    A – above (выше)B – below (ниже)
    C – carry (перенос)E – equal (равно)
    G – greater (больше)L – less (меньше)
    N – not (не)O – overflow (переполнение)
    P – parity (паритет)S – sign (знак)
    Z – zero (ноль)


  • Ассемблер Intel 8086Команды передачи управления: j?*Примеры конструирования к...

    16 слайд

    Ассемблер Intel 8086
    Команды передачи управления: j?*
    Примеры конструирования команд условного перехода:
    ja, jnbe – переход, если выше/переход, если не ниже и не равно
    jg, jnle – переход, если больше/переход, если не меньше и не равно
    jc – переход, если установлен флаг переноса
    jz, je – переход, если ноль/переход, если равно


    Дополнительная команда условного перехода:
    jcxz – переход, если CX=0

  • Ассемблер Intel 8086Команды передачи управления: loopОбщий формат: loop LoopL...

    17 слайд

    Ассемблер Intel 8086
    Команды передачи управления: loop
    Общий формат: loop LoopLabel
    Описание: команда предназначена для организации циклических вычислений. Количество повторений задаётся в регистре CX. Выход из цикла происходит, когда при очередной проверке CX оказывается равным нулю.
    Алгоритм:
    CX := CX – 1;
    if CX <> 0 then jmp LoopLabel;
    Особенность: выполняется только короткий переход, т.е. адрес, заданный операндом LoopLabel, должен быть расположен в диапазоне от -128 до +127 байтов от адреса, хранимого в регистре IP.

    Пример:
    mov AX, 0
    mov CX, 100
    AXIncLoop:
    add AX, 1
    loop AXIncLoop

  • Ассемблер Intel 8086Команды передачи управления: loope, loopzОбщий формат: lo...

    18 слайд

    Ассемблер Intel 8086
    Команды передачи управления: loope, loopz
    Общий формат: loope LoopLabel
    Описание: команда предназначена для организации циклических вычислений. Количество повторений задаётся в регистре CX. Кроме значения регистра CX данная команда анализирует содержимое флага Z регистра флагов. Цикл выполняется, пока содержимое регистра CX не равно нулю и флаг ZF равен 1.
    Алгоритм:
    CX := CX – 1;
    if (CX <> 0) and (ZF = 1) then jmp LoopLabel;
    Особенность: выполняется только короткий переход, т.е. адрес, заданный операндом LoopLabel, должен быть расположен в диапазоне от -128 до +127 байтов от адреса, хранимого в регистре IP.

    loopz – синоним команды loope.

  • Ассемблер Intel 8086Команды передачи управления: loopne, loopnzОбщий формат:...

    19 слайд

    Ассемблер Intel 8086
    Команды передачи управления: loopne, loopnz
    Общий формат: loopne LoopLabel
    Описание: команда предназначена для организации циклических вычислений. Количество повторений задаётся в регистре CX. Кроме значения регистра CX данная команда анализирует содержимое флага Z регистра флагов. Цикл выполняется, пока содержимое регистра CX не равно нулю и флаг ZF равен нулю.
    Алгоритм:
    CX := CX – 1;
    if (CX <> 0) and (ZF = 0) then jmp LoopLabel;
    Особенность: выполняется только короткий переход, т.е. адрес, заданный операндом LoopLabel, должен быть расположен в диапазоне от -128 до +127 байтов от адреса, хранимого в регистре IP.

    loopnz – синоним команды loopne.

  • Ассемблер Intel 8086Команды передачи управления: callОбщий формат: call ProcN...

    20 слайд

    Ассемблер Intel 8086
    Команды передачи управления: call
    Общий формат: call ProcName
    Описание: команда вызова подпрограммы.
    Алгоритм:
    if FAR CALL then
    begin
    PUSH CS;
    CS := dest_seg
    end;
    PUSH IP;
    IP := dest_offset;
    Особенность: подпрограмма может быть вызвана как напрямую (с использованием метки – имени подпрограммы), так и косвенно (адрес находится в регистре или ячейке памяти).

  • Ассемблер Intel 8086Команды передачи управления: retОбщий формат: ret [PopByt...

    21 слайд

    Ассемблер Intel 8086
    Команды передачи управления: ret
    Общий формат: ret [PopBytes]
    Описание: команда возврата из подпрограммы. Необязательный параметр PopBytes указывает, сколько байтов необходимо освободить из стека при выходе из подпрограммы (например, освобождение стека от входных параметров, переданных подпрограмме).
    Алгоритм:
    POP IP
    if FAR RETURN then POP CS;
    SP := SP + PopBytes;

    Особенность: тип возврата из подпрограммы (дальний или близкий) задаётся программистом при описании подпрограммы.

  • Ассемблер Intel 8086Логические операцииБазовый набор команд, реализующих логи...

    22 слайд

    Ассемблер Intel 8086
    Логические операции
    Базовый набор команд, реализующих логические операции:

    ANDNOTORXOR

  • Ассемблер Intel 8086Логические операцииОбщий формат: and Destination, Source...

    23 слайд

    Ассемблер Intel 8086
    Логические операции
    Общий формат: and Destination, Source
    Описание: Destination := Destination AND Source

    Общий формат: or Destination, Source
    Описание: Destination := Destination OR Source

    Общий формат: xor Destination, Source
    Описание: Destination := Destination XOR Source

    Общий формат: not Destination
    Описание: Destination := NOT(Destination)


  • Ассемблер Intel 8086Команды работы с битамиБазовый набор команд, реализующих...

    24 слайд

    Ассемблер Intel 8086
    Команды работы с битами
    Базовый набор команд, реализующих операции над отдельными битами:

    RCLRCRROLROR
    SALSARSHLSHR
    TEST

  • Ассемблер Intel 8086Команды работы с битами: sal, shlОбщий формат: sal/shl Op...

    25 слайд

    Ассемблер Intel 8086
    Команды работы с битами: sal, shl
    Общий формат: sal/shl Operand, ShiftCount
    Описание: сдвиг арифметический (sal) или логический (shl) влево на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF – флаг переноса. Если сдвиг был более, чем на один бит, то во флаге CF хранится последний выпавший бит. В качестве операнда ShiftCount обычно выступает регистр CL.







    Примеры:
    sal AX, 1
    shl WordVar, CL

  • Ассемблер Intel 8086Команды работы с битами: sarОбщий формат: sar Operand, Sh...

    26 слайд

    Ассемблер Intel 8086
    Команды работы с битами: sar
    Общий формат: sar Operand, ShiftCount
    Описание: сдвиг арифметический вправо на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF – флаг переноса. Если сдвиг был более, чем на один бит, то во флаге CF хранится последний выпавший бит. В качестве операнда ShiftCount обычно выступает регистр CL. При арифметическом сдвиге знак операнда сохраняется.







    Примеры:
    sar AX, 1
    sar ByteVar, CL

  • Ассемблер Intel 8086Команды работы с битами: shrОбщий формат: shr Operand, Sh...

    27 слайд

    Ассемблер Intel 8086
    Команды работы с битами: shr
    Общий формат: shr Operand, ShiftCount
    Описание: сдвиг логический вправо на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF – флаг переноса. Если сдвиг был более, чем на один бит, то во флаге CF хранится последний выпавший бит. В качестве операнда ShiftCount обычно выступает регистр CL. При логическом сдвиге в операции участвует весь операнд.







    Примеры:
    shr AH, 1
    shr ByteVar, CL

  • Ассемблер Intel 8086Команды работы с битами: rclОбщий формат: rcl Operand, Sh...

    28 слайд

    Ассемблер Intel 8086
    Команды работы с битами: rcl
    Общий формат: rcl Operand, ShiftCount
    Описание: циклический сдвиг влево через флаг переноса на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF, а старое значение этого флага передаётся в освободившийся после сдвига правый бит операнда. В качестве операнда ShiftCount обычно выступает регистр CL.






    Примеры:
    rcl AH, 1
    rcl ByteVar, CL

  • Ассемблер Intel 8086Команды работы с битами: rcrОбщий формат: rcr Operand, Sh...

    29 слайд

    Ассемблер Intel 8086
    Команды работы с битами: rcr
    Общий формат: rcr Operand, ShiftCount
    Описание: циклический сдвиг вправо через флаг переноса на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF, а старое значение этого флага передаётся в освободившийся после сдвига левый бит операнда. В качестве операнда ShiftCount обычно выступает регистр CL.






    Примеры:
    rcr CX, 1
    rcr ByteVar, CL

  • Ассемблер Intel 8086Команды работы с битами: rolОбщий формат: rol Operand, Sh...

    30 слайд

    Ассемблер Intel 8086
    Команды работы с битами: rol
    Общий формат: rol Operand, ShiftCount
    Описание: циклический сдвиг влево на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF и одновременно передаётся в освободившийся после сдвига правый бит операнда. В качестве операнда ShiftCount обычно выступает регистр CL.






    Примеры:
    rol DI, 1
    rol ByteVar, CL

  • Ассемблер Intel 8086Команды работы с битами: rorОбщий формат: ror Operand, Sh...

    31 слайд

    Ассемблер Intel 8086
    Команды работы с битами: ror
    Общий формат: ror Operand, ShiftCount
    Описание: циклический сдвиг вправо на заданное количество битов. В качестве операнда может быть слово или байт.
    Особенности: при сдвиге выпадающий бит попадает в CF и одновременно передаётся в освободившийся после сдвига левый бит операнда. В качестве операнда ShiftCount обычно выступает регистр CL.






    Примеры:
    ror BH, 1
    ror WordVar, CL

  • Ассемблер Intel 8086Команды обработки строкБазовый набор команд, реализующих...

    32 слайд

    Ассемблер Intel 8086
    Команды обработки строк
    Базовый набор команд, реализующих операции со строками:

    CMPSCMPSBCMPSWLODSLODSBLODSWMOVSMOVSBMOVSWSCASSCASBSCASWSTOSSTOSBSTOSW

  • Ассемблер Intel 8086Команды обработки строк: сравнение строкОбщий формат: cmp...

    33 слайд

    Ассемблер Intel 8086
    Команды обработки строк: сравнение строк
    Общий формат: cmpsb
    Описание: сравнение байтов по адресам DS:SI и ES:DI с установкой соответствующих флагов. Фактически производится операция вычитания. После выполнения сравнения индексные регистры изменяют своё значение на единицу:
    SI:=SI+1 и DI:=DI+1, если флаг DF=0;
    SI:=SI-1 и DI:=DI-1, если флаг DF=1.

    Общий формат: cmpsw
    Описание: сравнение слов по адресам DS:SI и ES:DI с установкой соответствующих флагов. После выполнения сравнения индексные регистры изменяют своё значение на два:
    SI:=SI+2 и DI:=DI+2, если флаг DF=0;
    SI:=SI-2 и DI:=DI-2, если флаг DF=1.

  • Ассемблер Intel 8086Команды обработки строк: загрузкаОбщий формат: lodsb
Опис...

    34 слайд

    Ассемблер Intel 8086
    Команды обработки строк: загрузка
    Общий формат: lodsb
    Описание: загрузка в регистр AL байта, находящегося по адресу DS:SI, после чего индексный регистр изменяет своё значение на единицу:
    SI:=SI+1, если флаг DF=0;
    SI:=SI-1, если флаг DF=1.

    Общий формат: lodsw
    Описание: загрузка в регистр AX слова, находящегося по адресу DS:SI, после чего индексный регистр изменяет своё значение:
    SI:=SI+2, если флаг DF=0;
    SI:=SI-2, если флаг DF=1.

  • Ассемблер Intel 8086Команды обработки строк: пересылка строкОбщий формат: mov...

    35 слайд

    Ассемблер Intel 8086
    Команды обработки строк: пересылка строк
    Общий формат: movsb
    Описание: содержимое байта с адресом DS:SI пересылается в ячейку памяти с адресом ES:DI, после чего индексные регистры изменяют свои значения на единицу:
    SI:=SI+1 и DI:=DI+1, если флаг DF=0;
    SI:=SI-1 и DI:=DI-1, если флаг DF=1.

    Общий формат: movsw
    Описание: содержимое слова с адресом DS:SI пересылается в ячейку памяти с адресом ES:DI, после чего индексные регистры изменяют свои значения:
    SI:=SI+2 и DI:=DI+2, если флаг DF=0;
    SI:=SI-2 и DI:=DI-2, если флаг DF=1.

  • Ассемблер Intel 8086Команды обработки строк: сканированиеОбщий формат: scasb...

    36 слайд

    Ассемблер Intel 8086
    Команды обработки строк: сканирование
    Общий формат: scasb
    Описание: содержимое регистра AL сравнивается с байтом, находящимся по адресу ES:DI, после чего индексный регистр изменяет своё значение на единицу:
    DI:=DI+1, если флаг DF=0;
    DI:=DI-1, если флаг DF=1.

    Общий формат: scasw
    Описание: содержимое регистра AX сравнивается со словом, находящимся по адресу ES:DI, после чего индексный регистр изменяет своё значение на два:
    DI:=DI+2, если флаг DF=0;
    DI:=DI-2, если флаг DF=1.

    Особенность: команда предназначена только для установки флагов, операнды своих значений не меняют.

  • Ассемблер Intel 8086Команды обработки строк: сохранениеОбщий формат: stosb
Оп...

    37 слайд

    Ассемблер Intel 8086
    Команды обработки строк: сохранение
    Общий формат: stosb
    Описание: содержимое регистра AL записывается в память по адресу ES:DI, после чего индексный регистр изменяет своё значение на единицу:
    DI:=DI+1, если флаг DF=0;
    DI:=DI-1, если флаг DF=1.

    Общий формат: stosw
    Описание: содержимое регистра AX записывается в память по адресу ES:DI, после чего индексный регистр изменяет своё значение на два:
    DI:=DI+2, если флаг DF=0;
    DI:=DI-2, если флаг DF=1.

  • Ассемблер Intel 8086Команды обработки строк: 
команды с параметрамиОбщий форм...

    38 слайд

    Ассемблер Intel 8086
    Команды обработки строк:
    команды с параметрами
    Общий формат: cmps String1, String2
    Описание: сравнение очередных байтов строк String1 и String2, находящихся по адресам DS:SI и ES:DI с установкой соответствующих флагов.
    Общий формат: lods String1
    Описание: загрузка слова (байта), находящегося по адресу DS:SI, в регистр AX (AL).
    Общий формат: movs String1, String2
    Описание: пересылка информации из строки String2 в строку String1, которые расположены по адресам DS:SI и ES:DI соответственно.
    Общий формат: scas String1
    Описание: сравнение слова (байта), находящегося по адресу ES:DI, с содержимым регистра AX (AL).
    Общий формат: stos String1
    Описание: запись в очередную позицию строки (по адресу ES:DI) содержимого регистра AX или AL.
    Особенность: указанные команды позволяют задать параметры, которые несут информацию только о типе обрабатываемых данных (слово или байт). Для корректной работы необходимо задавать значения соответствующих регистров: DS, ES, SI, DI.

  • Ассемблер Intel 8086Команды обработки строк: префиксы командВсе команды обраб...

    39 слайд

    Ассемблер Intel 8086
    Команды обработки строк: префиксы команд
    Все команды обработки строк предназначены для однократного выполнения задания (т.е. будет обработан один байт или одно слово). Для повторения команд обработки строк можно организовать цикл, но целесообразнее использовать префиксы.

    Общий формат: <код префикса> <команда обработки строк>
    Возможные префиксы:
    REP – выполнить команду столько раз, сколько указано в регистре CX. Условие прекращения выполнения команды: CX=0;
    REPE/REPZ – повторять выполнение команды, пока равно/пока ноль. Условие прекращения выполнения команды: CX=0 или ZF=0;
    REPNE/REPNZ – повторять выполнение команды, пока не равно/пока не ноль. Условие прекращения выполнения команды: CX=0 или ZF=1.

  • Ассемблер Intel 8086Команды изменения состояния процессораБазовый набор коман...

    40 слайд

    Ассемблер Intel 8086
    Команды изменения состояния процессора
    Базовый набор команд для управления состоянием процессора:

    CLCCLDCLICMCESCHLTLOCKNOPSTCSTDSTIWAIT

  • Ассемблер Intel 8086Команды изменения состояния процессора:
изменение флаговC...

    41 слайд

    Ассемблер Intel 8086
    Команды изменения состояния процессора:
    изменение флагов
    CLC – очистка флага переноса (CF:=0).
    CMC – инверсия флага переноса (CF:=not(CF)).
    STC – установка флага переноса (CF:=1).

    CLD – очистка флага направления (DF:=0).
    STD – установка флага направления (DF:=1).

    CLI – очистка флага прерываний (IF:=0, запрет некоторых прерываний).
    STI – установка флага прерываний (IF:=1).

  • Ассемблер Intel 8086Команды изменения состояния процессора:
изменение флаговC...

    42 слайд

    Ассемблер Intel 8086
    Команды изменения состояния процессора:
    изменение флагов
    CLC – очистка флага переноса (CF:=0).
    CMC – инверсия флага переноса (CF:=not(CF)).
    STC – установка флага переноса (CF:=1).

    CLD – очистка флага направления (DF:=0).
    STD – установка флага направления (DF:=1).

    CLI – очистка флага прерываний (IF:=0, запрет некоторых прерываний).
    STI – установка флага прерываний (IF:=1).

  • Ассемблер Intel 8086Команды для работы с прерываниямиНабор команд для реализа...

    43 слайд

    Ассемблер Intel 8086
    Команды для работы с прерываниями
    Набор команд для реализации работы с прерываниями:

    INTINTOIRET

  • Ассемблер Intel 8086Команды для работы с прерываниями: intОбщий формат: int I...

    44 слайд

    Ассемблер Intel 8086
    Команды для работы с прерываниями: int
    Общий формат: int IntNumber
    Описание: команда инициирует в процессоре процедуру прерывания, в результате чего управление передаётся на программу обработки прерывания с номером IntNumber.
    Алгоритм:
    PUSHF; //сохранение регистра флагов в стек
    TF := 0; //сброс флага трассировки
    IF := 0; //сброс флага прерываний – запрет прерываний
    CALL FAR (IntNumber*4); //дальний вызов обработчика прерываний
    Особенность: при выполнении дальнего вызова в регистр IP записывается слово, расположенное по адресу (IntNumber*4), а в регистр CS – слово, расположенное по адресу (IntNumber*4+2).

  • Ассемблер Intel 8086Команды для работы с прерываниями: intoОбщий формат: into...

    45 слайд

    Ассемблер Intel 8086
    Команды для работы с прерываниями: into
    Общий формат: into
    Описание: команда активизирует прерывание с номером 4, если флаг OF равен 1; если OF = 0, то эта команда не выполняет никаких действий. Если OF = 1, то прерывание выполняется аналогично команде INT 4.
    Алгоритм:
    PUSHF; //сохранение регистра флагов в стек
    TF := 0; //сброс флага трассировки
    IF := 0; //сброс флага прерываний – запрет прерываний
    CALL FAR (4*4); //дальний вызов обработчика прерываний

  • Ассемблер Intel 8086Команды для работы с прерываниями: iretОбщий формат: iret...

    46 слайд

    Ассемблер Intel 8086
    Команды для работы с прерываниями: iret
    Общий формат: iret
    Описание: команда передаёт управление из обработчика прерывания в место возникновения прерывания, восстанавливая при этом значения регистров IP, CS и регистра флагов, которые были записаны в стек при вызове обработчика прерывания.
    Алгоритм:
    POP IP; //восстановление значения регистра IP
    POP CS; //восстановление значения сегментного регистра
    POPF; //восстановление регистра флагов на момент прерывания
    Особенность: при выполнении дальнего вызова в регистр IP записывается слово, расположенное по адресу (IntNumber*4), а в регистр CS – слово, расположенное по адресу (IntNumber*4+2).

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 664 139 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 27.09.2020 1634
    • PPTX 340 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Абдулаев Шамиль Абдулаевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Абдулаев Шамиль Абдулаевич
    Абдулаев Шамиль Абдулаевич
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 84276
    • Всего материалов: 222

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

HR-менеджер

Специалист по управлению персоналом (HR- менеджер)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 190 человек из 54 регионов
  • Этот курс уже прошли 973 человека

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 685 человек из 79 регионов
  • Этот курс уже прошли 1 809 человек

Мини-курс

Основы психологических трансформационных игр

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 55 человек из 33 регионов
  • Этот курс уже прошли 32 человека

Мини-курс

Аномальное психологическое развитие и психологическая травма

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 35 человек из 17 регионов

Мини-курс

Управление стрессом и психологическими состояниями

2 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 78 человек из 32 регионов
  • Этот курс уже прошли 56 человек