Читайте также:
|
|
Вывод на экран в базовой версии DOS требует определения текстового сообщения в сегменте данных, установки в регистре АН значения 09 (вызов функции DOS) и указания команды DOS INT 21H. В процессе выполнения операции конец сообщения определяется по ограничителю ($), как показано ниже:
NAMEPR DB ‘Введите число’,’$’
.
.
MOV AH, 09
LEA DX, NAMEPR
INT 21H
Знак ограничителя ’$’ можно кодировать непосредственно после символьной строки, как показано в примере, внутри строки ’Введите число$’ или в следующем операторе DB ’$’. Если знак доллара будет отсутствовать в конце строки, то на экран будут выводиться все последующие символы, пока знак доллара не встретится в памяти. Команда LEA загружает адрес области NAMEPR в регистр DX для передачи в DOS адреса выводимой информации.
Один из способов получения более эффективного вывода на экран – использование управляющих символов возврата каретки (CR), перевода строки (LF) и табуляции (TAB). Их десятичные коды: CR – 13, LF – 10, TAB – 09.
Ввод данных с клавиатуры
Для ввода, использующего базовую DOS,область ввода в сегменте данных требует наличия списка параметров, содержащего спецификацию полей, которые необходимы при выполнении команды INT. Во-первых, должна быть определена максимальная длина вводимого текста. Во-вторых, в списке параметров должно быть определённое поле, куда команда возвращает действительную длину введённого текста в байтах.
NAMEPAR LABEL BYTE;список параметров
MAXLEN DB 20;максимальная длина
ACTLEN DB?;реальная длина
NAMEFLD DB 20 DUP (‘ ‘);введённые символы
Для запроса на ввод в сегменте кодов необходимо поместить в регистр АН номер функции – 10 (0АН), загрузить адрес списка параметров (NAMEPAR) в регистр DX и выполнить INT 21H:
MOV AH, 0AH
LEA DX, NAMEPAR
INT 21H
Команда INT ожидает, пока пользователь не введёт с клавиатуры текст, проверяя при этом, чтобы число введённых символов не превышало максимального значения, указанного в списке параметров. Для указания конца ввода пользователь нажимает клавишу Return. Код этой клавиши также заносится в поле ввода.
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Обработка данных
Сложение и вычитание.
Команды ADD и SUBвыполняют сложение и вычитание байтов или слов. Формат команд:
ADD (SUB) операнд1, операнд2
В качестве операндов в этих командах могут быть следующие комбинации:
Регистр – регистр
Память – регистр
Регистр – память
Регистр – непосредственное значение
Память – непосредственное значение
Поскольку прямой операции память – память не существует, то данная операция выполняется через регистр.
Дата добавления: 2014-12-19; просмотров: 138 | Поможем написать вашу работу | Нарушение авторских прав |