Выведем результат преобразования на экран
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.
Содержание Назад Вперед