Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Вывод на экран шестнадцатеричного числа
Вывод на экран одной шестнадцатиричной цифры:
Процедуры
Это список инструкций, который можно вызвать из различных мест программы. Аналог функции в С и подпрограммы. Процедуру можно вызвать с помощью CALL имя, и выход с помощью REТ. Адрес возврата запоминается в стеке. САLL имя ……. имя: …
…. …. RET ……
Теперь напишем программу распечатки содержимого регистра BL.
MOV DL, BL RCR DL, 4; сдвиг вправо на 4 бита MOV DL, BL CALL PRINT_HEX INT 20H PRINT_HEX: AND DL, 0FH ADD DL, 030H CMP DL, 03AH JL PRINT ADD DL, 07H PRINT: INT 21H RET
Ввод символов Вызов DOS через INT 21H, предварительно загрузив в AH единицу, обеспечив ввод одного символа. Решим следующую задачу – сформировать байт из шестнадцатеричного числа (из 2-х шестнадцатиричных цифр). Если вводится символ, который нельзя преобразовать в шестнадцатеричную цифру, то – звонок.
CALL INP_HEX MOV AL, DL RCL DL, 4 CALL INP_HEX ADD DL, AL MOV AH, 02 INT 21H INT 20H INP_HEX: PUSH DX MOV AH, 08; считать символ, но не выводить его на экран LOOP: INT 21H CMP AL, 030H JB BEEP CMP AL, 046H JA BEEP CMP AL, 039H JA CONT MOV AH, 02 MOV DL, AL SUB AL, 030H POP DX RET BEEP: INT 21H CONT: CMP AL, 041H JB LOOP MOV AH, 02 MOV DL, AL INT 21H SUB AL,037H POP DX RET
Вывод на экран двоичного числа
MOV BX, 0A3C5H MOV CX, 0008 CYCLE: RCL BX, 1; циклический сдвиг BX на 1 разряд вправо LOOP CYCLE; пока СХ=СХ-1¹0 INT 20H
MOV AH, 02; номер функции в AH – печать символа из DL MOV CX, 0008; количество сдвигов MET: MOV DL, 00 RCL BL, 1 ADC DL, 30 INT 21H LOOP MET INT 20H
РАБОТА С ДИСКОВЫМИ ФАЙЛАМИ
В DOS доступны следующие функции работы с файлами:
39h – создать каталог файлов (аналогично функции MKDIR DOS) перед использованием DS:DX – адрес ASCIIZ – строки –имя пути для нового каталога. Ошибки в АХ: 3 - путь не найден 5 – ошибка в доступе
3Аh – удалить каталог DS:DX – адрес ASCIIZ – строки –имя пути для нового каталога. Ошибки в АХ те же.
3Вh – сменить текущий каталог DS:DX – то же АХ – 3
3Сh – создать файл (CREATE) открывает существующий или создает новый файл. DS:DX – адрес ASCIIZ строки. СХ – аттрибут файла АХ – возвращается логический номер файла.
Логический номер файла или дескриптор – это 16-битовое число, используемое DOS как указатель на систему таблиц. Логический номер освобождается после закрытия файла и может быть использован повторно. Существует пять стандартных логических номеров 0-4, которые автоматически предоставляются любой программе. Остальные номера с большими логическими номерами DOS предоставляет по требованию.
АSCIIZ-строка Функции DOS, работающие с файлами, требуют задания имени и пути к файлу в виде ASCIIZ строки. ASCIIZ строка состоит из обычных ASCII символов, за которыми следует нулевой байт. Типичная строка выглядит наподобие: C:\DIRECTORY1\DIRECTORY2\FILENAME.EXT В качестве разделителя может быть как прямая, так и обратная косая черта. (имя дисковода может быть опущено)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 365; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.242.165.255 (0.016 с.) |