назад

Аннотация к работе

Данная работа посвящена знакомству с типовыми примерами, выполненными с использованием команд ассемблера i8086. Перечень тем рассматриваемых ниже примеров таков: Типовые примеры ассемблерных программ.

В данной лабораторной работе собраны 7 простейших типовых программ-примеров:

  1. Копирование ячеек указанного диапазона.

  2. Занесение в ячейки указанного диапазона заданного ряда чисел.

  3. Поиск и замена образцов указанного диапазона.

  4. Подсчёт количества образцов указанного диапазона.

  5. Суммирование содержимого ячеек заданного диапазона.

  6. Нахождение минимального значения в заданном диапазоне.

  7. Нахождение максимального значения в заданном диапазоне.

К разряду простейших эти примеры отнесены по простой причине: ни в одном из них не требуется выводить символы на экран.
Во всех случаях действия осуществляются с числами, располагающимися в ячейках оперативной памяти.
Во всех случаях просмотр результатов предполагает использование отладчика DEBUG.
Все рассматриваемые программы-примеры собраны в рабочей папке, где хранятся файлы описания данной лабораторной работы.
Для загрузки этих файлов следует вспомнить раздел 1-ой лабораторной работы, в котором речь идёт о работе с файлами.


Команды, используемые в типовых примерах.

INT 20 —  команда, завершающая работу программы, размещённой в файле com-типа 
INC Operand — увеличение значения операнда Operand на единицу (+1)

LOOP adress — команда цикла (CX<-CX-1, после чего, если CX<>0- переход на adress)

CMP Opr_1,Opr_2 — сравнение левого и правого операндов Opr_1 и Opr_2
JNZ adress — условный переход, если результат сравнения Opr_1 ≠ Opr_2
JBE adress — условный переход, если результат сравнения Opr_1 ≤ Opr_2
JAE adress — условный переход, если результат сравнения Opr_1 ≥ Opr_2
ADC Opr_1,0 — увеличение значения операнда Opr_1 на единицу, если Carry Flag = 1