Иллюстрированный самоучитель по Assembler


Циклы - часть 8


sub AL,50h          ;'p'...'я'. Преобразуем в прописную

store: mov   buf[SI],AL      ;Отправим назад в buf

noletter: inc SI            ;Сместим указатель

loop filter                    ;Цикл по всем символам

; Выведем результат преобразования на экран для контроля

mov AX,40h       ;Функция вывода

mov BX,1           ;Дескриптор экрана

mov CX,actlen   ;Длина сообщения

mov DX,offset buf  ;Адрес сообщения

int 21h

mov AH,01          ;Остановим программу

int 21h                 ;в ожидании нажатия клавиши

;Завершим программу

mov AX,4C00h

int 21h

main endp

code ends

data segment

msg db "Вводите!$"

buf db 80 dup (' ')            ;Буфер ввода

actlen dw 0

data ends

stk segment stack

dw 128 dup(')

stk ends

end main

В начале программы на экран выводится служебное сообщение "Вводите!", которое служит запросом программы, адресованным пользователю. Далее с помощью функции DOS 3Fh выполняется ввод строки текста с клавиатуры. Функция 3Fh может вводить данные из разных устройств - файлов, последовательного порта, клавиатуры. Различные устройства идентифицируются их дескрипторами. При работе с файлами дескриптор каждого файла создается системой в процессе операции открытия или создания этого файла, а для стандартных устройств - клавиатуры, экрана, принтера и последовательного порта действуют дескрипторы, закрепляемые за этими устройствами при загрузке системы. Для ввода с клавиатуры используется дескриптор 0, для вывода на экран дескриптор 1.




- Начало -  - Назад -  - Вперед -



Книжный магазин