![](/user_photo/2706_HbeT2.jpg)
- •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
Использование функций Int 21h (08h, 0Ah, 0Bh) для ввода информации.
- INT 2lh, функция 08h. Ввод символа без эха.
Вводит символ из устройства стандартного ввода без его отображения. При отсутствии символа ждет ввода. Для чтения расширенного кода ASCII требуется повторное выполнение функции
При вызове: AH=08h. При возврате: АL=байт входных данных.
- INT 2lh, функция OAh. Буферизованный ввод с клавиатуры.
Вводит строку байт из устройства стандартного ввода в буфер пользователя с отображением на устройстве стандартного вывода. Строка должна заканчиваться символом возврата каретки (0Dh). Выполняет обработку <Ctrl>/C.
При вызове: AH=0Ah DS:DX=aдpec буфера .
При возврате: Данные помещены в буфер. Формат буфера: байт 0 - ожидаемая длина строки байт 1 - фактическая длина введенной строки байт 2 и далее - строка, заканчивающаяся 0Dh.
- INT 2lh, функция 0Bh. Проверка состояния ввода.
Проверяет наличие символа от устройства стандартного ввода. Выполняет обработку <Ctrl>/C.
При вызове: AH=0Bh
При возврате: AL=00h если символ не ждет AL=FFh если символ ждет
Использование функций Int 21h (0Ch, 3Fh) для ввода информации.
- INT 2lh, функция 0Ch. Очистка входного буфера и ввод.
Очищает кольцевой буфер клавиатуры и активизирует функцию ввода.
При вызове: AH=0Ch АL="номер требуемой функции ввода.
Допустимы функции 01, 06, 07, 08, 0Ah DS:DX=адpec буфера (если AL=0Ah)
При возврате: АL=байт входных данных (если при вызове AL=0Ah, данные помещаются в буфер)
- INT 2lh, функция Fn 3fH. Читать файл через дескриптор
Все функции DOS ввода с клавитуры допускают перенаправление ввода (из файла, последовательного порта, из вывода другой программы). Если требуется избавиться от этого качества, следует использовать файловую функцию ввода 3Fh и специально выделенный дескриптор.
При вызове: AH = 3fH BX = дескриптор файла DS:DX = адрес буфера для чтения данных CX = число считываемых байт
При возврате: AX = код ошибки если CF установлен или число действительно прочитанных байт
Использование функций Int 16h bios для ввода информации
Команда BIOS INT 16H выполняет специальную операцию, которая в соответствии с кодом в регистре AH обеспечивает следующие три функции ввода с клавиатуры.
- AH=00: Чтение символа. Данная функция помещает в регистр AL oчередной ASCII символ, введенный с клавиатуры, и устанавливает скэн-код в регистре AH. Если на клавиатуре нажата одна из специальных клавишей, например, Номе или F1, то в регистр AL заносится 00. Автоматическое эхо символа на экран по этой функции не происходит.
- AH=01: Определение наличия введенного символа. Данная функция сбрасывает флаг нуля (ZF=0), если имеется символ для чтения с клавиатуры; очередной символ и скэн-код будут помещены в регистры AL и AH соответственно и данный элемент останется в буфере.
- AH=02: Определение текущего состояния клавиатуры. Данная функция возвращает в регистре AL состояние клавиатуры из адреса памяти шест.417:
Бит
7 Состояние вставки активно (Ins)
6 Состояние фиксации верхнего регистра (Caps Lock) переключено
5 Состояние фиксации цифровой клавиатуры (Num Lock) переключено
4 Состояние фиксации прокрутки (Scroll Lock) переключено
3 Нажата комбинация клавишей Alt/Shift
2 Нажата комбинация клавишей Ctrl/Shift
1 Нажата левая клавиша Shift
0 Нажата правая клавиша Shift
- AH= 10h и 11h. Аналогичны 00h и 01h, но они позволяют обрабатывать клавиши 101-клавишной клавиатуры.