- •Напишите программу, которая запрашивает у пользователя имя (максимум 10 символов) и затем трижды признаётся пользователю в любви.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран. Выполните трассировку программы.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, вводящую строку запроса и ожидающую ответ. В зависимости от ответа “y” или “n” вывести на экран ту или иную строку. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку. Количество вводимых букв ограничьте программно. Выполните трассировку программы.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Ввести с клавиатуры натуральное число. Найти сумму его первой и последней цифры и вывести на экран. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран, предварительно изменив заглавные английские буквы на строчные. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран в pамке. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку str1. Необходимо скопировать в строку str2 последний символ из str1 три раза. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую каждое слово в отдельной строке. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую символы введенной строки на экран в обратном порядке. Выполните трассировку программы.
- •Ввести с клавиатуры натуральное число. Поменять порядок следования цифр в числе и вывести на экран.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, которая вводит с клавиатуры слово и выводит слово лесенкой, уменьшая длину на один символ.
- •Оформите ввод пароля в рамке. Рамка расширяется при вводе символов. Для рисования рамки используйте коды символов:
- •Дополните программу: ввод пароля пока не будет введено правильное слово. При каждом неверном вводе выводите сообщение об этом.
- •Дополните программу. При верном вводе пароля он появляется на экране через временную задержку разного цвета.
- •Дополните программу. Введите строку текста и выведите его по буквам в режиме телетайпа разными по цвету буквами.
- •Дополните программу: вводите пароль 3 раза, каждый раз после ввода отображайте введенное слово и сообщайте верно или неверно введен пароль. Затем выход в dos.
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в правом верхнем углу выводите сообщение «Ха-ха, Вы ошиблись!!!»
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в правом нижнем правом углу выводите сообщение «Ха-ха, Вы ошиблись!!!»
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в центре экрана выводится сообщение «Ха-ха, Вы ошиблись!!!»
- •Введите две строки. В случае если они одинаковые. Выводится сообщение о том что строки совпали, в противном случае выводится сообщение, о том что строки не совпадают.
- •Напишите программу, которая получает строку и слово. С помощью макроса определить входит ли данное слово в строку.
- •Напишите программу, в которой вводятся целые числа а, b. Напишите макрокоманду определения min.
- •Напишите программу, в которой вводятся целые числа c, d. Напишите макрокоманду определения max.
- •Напишите программу, в которой вводятся целые числа а, b, c, d. Найти max{min(a, b), min(c, d)}, для чего написать макрокоманды определения max и min.
- •Вывести на экран своё имя, фамилию и группу, используя макрокоманду.
- •Написать программу, которая спрашивала бы сокращенное имя, а печатала бы полное. В случае незнакомого имени – печатать "я с Вами не знакома".
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Ввести с клавиатуры натуральное число. Проверить будут ли его цифры все различны. Вывести на экран сообщение. Преобразование строки в число производить в макрокоманде.
- •Ввести с клавиатуры два натуральных числа. Проверить есть ли у них одинаковые цифры. Если да, вывести их на экран. Преобразование строки в число произвести с помощью макрокоманды
- •Напишите программу, в которой вводится массив целых чисел. С помощью макроса отсортируйте массив любым известным алгоритмом.
- •Дана длина ребра куба. Найти площадь грани.
- •Дана длина ребра куба. Найти площадь полной поверхности этого куба.
- •Дана длина ребра куба. Найти объем этого куба.
Int 21h ; Вызов 21 прерывания dos
mov ah,4ch ; Выход в DOS в 21 прерывании
int 21h
start endp
codesg ends
end begin
Напишите программу, которая запрашивает у пользователя имя и выводит на экран две строки, в первой строке находятся все буквы, которые стоят на чётных позициях, во второй строке находятся все буквы, которые стоят на нечётных позициях. Выполните трассировку программы.
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin: jmp start
string db 256 dup ('$')
chetn db 256 dup ('$')
nechetn db 256 dup ('$')
novstr db 13, 10, '$' ; переход на новую строку
start:
mov ah,0ah ;запрос функции ввода
lea dx,string ;загрузка параметров
int 21h ;вызов 21 прерывания DOS
mov ax, 00h
mov bx, 00h
mov di, 00h
l2:
mov al, byte ptr [string+2+bx] ;вычисление чётных
mov [chetn+di], al
inc di
add bx,2
add cx,1
cmp al,24h
jnz l2
mov bx, 01h
mov di, 00h
mov ax, 00h
l3:
mov al, byte ptr [string+2+bx] ;вычисление нечётных
mov [nechetn+di], al
inc di
add bx,2
add cx,1
cmp al,24h
jnz l3
lea dx, novstr ; переход на новую строку
mov ah,09h
int 21h
lea dx, chetn ; четные символы
mov ax, 00h
mov ah,09h
int 21h
lea dx, novstr ; переход на новую строку
mov ah,09h
int 21h
lea dx, nechetn; нечетные символы
mov ax, 00h
mov ah,09h
int 21h
mov ah,4ch
int 21h
codesg ends
end begin
Напишите программу, вводящую строку запроса и ожидающую ответ. В зависимости от ответа “y” или “n” вывести на экран ту или иную строку. Выполните трассировку программы.
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin:
call start1
message3 db 'Segodnya sreda?-[Y/N]:','$'
message1 db 'Segodnya ne sreda','$'
message2 db 'Segodnya sreda','$'
start1 proc near
mov ah, 00h ;Установка видеорежима
mov al, 03h ; Стандартный цветной текст 80х25
int 10h
Next_key:
mov dx,offset message3
mov ah, 09h
int 21h
mov ah,10h
int 16h
cmp al,'Y'
jz IsSreda
jmp sss
sss: cmp al,'N'
jz IsNeSreda
jmp Next_key
IsSreda:
mov dx,offset message2
jmp start
IsNesreda:
mov dx,offset message1
jmp start
start:
mov ah,09h
int 21h
mov ah,4ch
int 21h
start1 endp
codesg ends
end begin
Напишите программу, запрашивающую у оператора строку. Количество вводимых букв ограничьте программно. Выполните трассировку программы.
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin:
call start
message db 'Введите Ваше имя: ', '$'
string label byte ;Список параметров
symb db 15 ;Максимальная длина
real db ? ;Реальная длина
all db 20 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 ; Загрузка адреса строки сообщения
