Читайте также:
|
|
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin:
call start
message db 'Введите строку символов: ','$'
message1 db 'Нажмите клавишу enter','$'
string label byte;Список параметров
symb db 59;Максимальная длина
real db?;Реальная длина
all db 60 dup (?),'$'; Введенные символы
start proc near;начало процедуры
mov ah, 00h; Функция очистки экрана
mov al, 03h; Стандартный цветной текст 80х25
int 10h
mov dh, 12; Установка позиции курсора
mov dl, 02
mov bh, 00
mov ah, 02h; Вызов функции установки курсора
int 10h
mov ah, 09h; Вызов функции вывода
lea dx, message; Загрузка адреса строки сообщения
int 21h; Вызов 21 прерывания DOS
lea dx, string; Загрузка адреса списка параметров
mov ah, 0ah; Запрос функции ввода
int 21h; Вызов 21 прерывания DOS
mov dh, 13; Установка позиции курсора
mov dl, 02
mov bh, 00
mov ah, 02h; Вызов функции установки курсора
int 10h
mov bl,real; //Поместить указатель на конец строки
mov bh,00; занести реальную длину строки
mov cx,bx; в cx реальная длина строки
m1:
mov ah,02h; вывод на экран символа
mov dl,all[bx-1]
int 21h
dec bx
loop m1
mov dh, 14; Установка позиции курсора
mov dl, 02
mov bh, 00
mov ah, 02h; Вызов функции установки курсора
int 10h
mov ah, 09h; Вызов функции вывода
lea dx, message1; Загрузка адреса строки сообщения
int 21h; Вызов 21 прерывания DOS
lea dx, string; Загрузка адреса списка параметров
mov ah, 0ah; Запрос функции ввода
int 21h; Вызов 21 прерывания DOS
mov ah,4ch; Выход в DOS в 21 прерывании
int 21h
start endp
codesg ends
end begin
Дата добавления: 2015-08-17; просмотров: 94 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Напишите программу, запрашивающую у оператора строку, а затем выводящую каждое слово в отдельной строке. Выполните трассировку программы. | | | C0 - Нижний левый угол B3 - Вертикальная линия |