- •5. Преобразование двоичных чисел в десятичные
- •Преобразование десятичных чисел в двоичные
- •1H ;Перенос от предыдущей операции.
- •10. Общая структура программы на языке Ассемблер. Сегмент кода. Сегмент данных.
- •11. Подготовка, компиляция, компоновка ассемблерных программ
- •12. Отладка ассемблерных программ. Выполнение ассемблерных программ.
- •13. Формат директив и машинных команд. Директивы инициализации данных. Директивы описания данных на языке Ассемблера.
- •14. Простейшие директивы сегментации. Модели памяти. Сегменты данных.
- •15. Стандартные директивы сегментации. Команды пересылки данных.
- •16. Организация стека. Команды работы со стеком.
- •17. Команды двоичной арифметики (сложение, вычитание). Влияние на регистр флагов
- •18. Команды двоичной арифметики (умножение, деление). Влияние на регистр флагов.
- •19. Логические операции
- •23. Команды передачи управления. Команды условной передачи управления для операндов без знака. Дальность адресации.
- •24. Команды передачи управления. Команды условного перехода и флаги.
- •25.Организация цикла
- •29.Обработка массивов
- •30.Вызов подпрограмм
- •32. Повторяющиеся блоки и макросы
- •35.Обработка прерываний в реальном режиме.
- •36.Ввод информации с клавиатуры
- •1. Средства dos
- •2. Средства bios
- •37. Использование функций Int 21h (01h, 06h, 07h) для ввода информации.
- •Использование функций Int 21h (08h, 0Ah, 0Bh) для ввода информации.
- •Использование функций Int 21h (0Ch, 3Fh) для ввода информации.
- •Использование функций Int 16h bios для ввода информации
- •Использование функций Int 21h (02h, 06h, 09h) для вывода информации на экран.
- •Использование функций Int 21h для ввода, вывода информации в файл.
- •Использование функций Int 10h bios (00h,4Fh,02h).
- •Использование функций Int 10h bios (03h,08h,09h).
- •Использование функций Int 10h bios (0Ah,0Eh,13h).
- •Вывод графической информации на экран. Видеорежимы.
- •47. Ассемблер и языки высокого уровня. Вызов процедур.
- •48. Создание встраиваемого ассемблерного кода. Ассемблер, встроенный в программу на языке Pascal.
- •49. Создание встраиваемого ассемблерного кода. Ассемблер, встроенный в программу на языке с.
- •50. Охарактеризуйте системные средства управления памятью. Опишите структуру и образ памяти программ .Exe и .Com.
- •51. Трансляторы и интерпретаторы - общая схема работы.
- •Формат командных операторов
- •Формат директив ассемблера и операторов распределения данных
- •Имя Директива Операнды ;Комментарий
- •Элементы операторов
- •Регистры
- •Переменные
- •Числовые константы
- •Символьные константы
- •Сегменты и процедуры
- •Segment (начало сегмента) и ends (конец сегмента).
- •Система команд микропроцессора 8086
- •Команды передачи данных
- •Общие команды передачи данных
- •Команда mov
- •Команда обмена xchg
- •Команда xlat
- •Команды lea, lds и les
- •Команды lahf и sahf
- •Стековые команды
- •Команды ввода-вывода
- •In ac,port out port,ac (прямая укороченная адресация)
- •In ac,dx out dx,ac (косвенная адресация) команды арифметических операций
- •Команды сложения Команда add
- •Команда imul
- •Команды деления
- •Команда div
- •Команда idiv
- •Команды преобразования
- •Команды десятичной арифметики
- •Команды для формата bcd
- •Команды для формата ascii
- •Команды логических операций и команды сдвигов команды логических операций
- •Команды сдвигов
- •Команды передачи управления
- •Команды безусловных переходов
- •Команды условных переходов
- •Команды вызова подпрограмм
- •Команды возврата из подпрограмм
- •Команды управления циклами
- •Команды прерываний
- •Int type - вызов прерывания с номером type (от 0 до 255),
- •Цепочечные команды
- •Префикс повторения
- •Команда movs
- •Команда cmps
- •Команда scas
- •Команда lods
- •Команда stos
Общие команды передачи данных
В эту подгруппу входят команды, осуществляющие передачу регистр-регистр, регистр-память и память-регистр. Наиболее мощной среди них является команда MOV.
Команда mov
Эта команда имеет следующее обобщенное представление: MOV dst, src
т.е. первым указывается операнд-получатель, а вторым - операнд-источник. Одним из операндов обязательно должен быть регистр.
Команда осуществляет передачу:
регистр - регистр,
регистр - память,
память - регистр,
непосредственные данные - регистр,
непосредственные данные - память,
регистр - сегментный регистр,
память - сегментный регистр,
сегментный регистр - регистр,
сегментный регистр - память.
Допустимые форматы команды:
MOV mem/reg1, mem/reg2
MOV mem/reg, data
MOV sreg, mem/reg
MOV mem/reg, sreg
Команда обмена xchg
Команда обмена XCHG позволяет обменивать содержимое любого общего регистра и ячейки памяти, а также любой пары общих регистров.
Формат команды: XCHG reg, mem/reg
Команда xlat
Команда преобразования XLAT применяется для быстрого преобразования символов из одного кода в другой. Она заменяет содержимое аккумулятора AL на байт из 256-байтовой таблицы, начальный адрес которой находится в регистре BX, а восьмибитовое смещение - в регистре AL. В качестве сегментного используется регистр DS.
Формат команды: XLAT
Команды lea, lds и les
Команды LEA, LDS и LES предназначены для загрузки эффективного адреса.
Команда LEA извлекает из памяти 16-битовый адрес и помещает его в один из общих регистров. Практически эта команда дублирует один из вариантов команды MOV, но выполняется быстрее.
Команда LDS извлекает из памяти 32-битовый адрес и помещает первое считанное из памяти слово в заданный общий регистр, а второе - в сегментный регистр DS.
Команда LES извлекает из памяти 32-битовый адрес и помещает первое считанное из памяти слово в заданный общий регистр, а второе - в сегментный регистр ES.
Обычно в команде LDS указывается регистр SI, а в команде LES регистр DI.
Формат команд:
LEA reg, mem
LDS reg, mem
LES reg, mem
Команды lahf и sahf
Команда LAHF передает младший байт регистра флажков в регистр AH, а команда SAHF реализует обратную передачу - содержимое регистра AH передается в младший байт регистра флажков (старший байт не изменяется).
Формат команд: LAHF
SAHF
Стековые команды
Каждая команда занесения данных в стек PUSH имеет соответствующую ей команду извлечения из стека POP. Для адресации вершины стека используется стековый указатель SP. Все стековые команды манипулируют только словами и сопровождаются автоматической модификацией указателя стека: при включении в стек производится декремент, а при извлечении из стека - инкремент SP.
До выполнения стековых команд регистры SP и SS должны быть инициализированы.
Команда PUSH включает в стек содержимое адресуемого регистра или ячейки памяти, а команда POP извлекает содержимое вершины стека и передает его в регистр или ячейку памяти.
Команды POSHF и POPF предназначены для временного запоминания в стеке и последующего восстановления из стека содержимого регистра флагов. С их помощью можно изменять состояние флага трассировки TF, так как команд прямого воздействия на этот флаг нет.
Формат команд:
PUSH mem/reg POP mem/reg
PUSH sreg POP sreg
PUSHF POPF