
- •Министерство образования и науки, молодежи и спорта украины министерство образования и науки, молодежи и спорта арк крымский инженерно-педагогический университет
- •Контрольная работа
- •Обычные символы (литералы) и специальные символы (метасимволы)
- •Любой символ
- •Символьные классы (наборы символов)
- •Позиция внутри строки
- •Квантификация (поиск последовательностей)
- •Жадная и ленивая квантификация
- •Ревнивая квантификация (Сверхжадная)
- •Модификаторы
- •Комментарии
- •Перечисление
- •Просмотр вперёд и назад
- •Поиск по условию
- •Задание 2 Осветить вопрос по теме «Защищенный режим процессора Intel»
- •Задание 3 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 4 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 5 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 6 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
Задание 4 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
Адрес среды окружения программы находится в префиксе программного сегмента(PSP-область, с которой загружается соответствующая программа) со смещением 2Ch. Сегментный адрес PSP находится в регистрах DS и ES при старте программы.
Структура среды окружения:
db строка_1,0
db строка_2,0
……
db строка_т,00,хх
db строка_запуска_программы,0
-
Необходимо получить из PSP адрес окружения, по этому адресу в среде окружения найти строку, которая описывает путь запуска программы, выдать ее на экран и номер этой строки.
-
Выдать строку с номером N (по варианту). Если строки с заданным номером не существует, то выдать сообщение «Строка с номером N не найдена».
-
Выдать все строки содержащие символы (по варианту), в формате:
Строка5: содержимое_строки
Если строки с заданныым символом не существует, то выдать сообщение «Строка, содержащщая символ ! не найдена».
Номер строки |
Символ |
6,34 |
# |
Задание 5 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
Используя функции BIOS вывода на экран, построив произвольное плоское изображение, выполнить:
Изображение (окрашенная фигура), которое плавно перемещается по экрану стрелками вверх и вниз.
.MODEL small
stack 255
dataseg
stroka db ?
stolb db ?
stroka1 db ?
stolb1 db ?
codeseg
start: mov ah,0 ;Ф-я BIOS режим экрана
mov al,3 ;80*25
int 10h ;Вызов прерывания BIOS
mov stroka1,10
mov stolb1,40
start1:
mov al,stroka1
mov stroka,al
mov al,stolb1
mov stolb,al
mov cx,1
call figura
inc stroka
dec stolb
mov cx,3
call figura
inc stroka
dec stolb
mov cx,5
call figura
inc stroka
dec stolb
mov cx,7
call figura
inc stroka
inc stolb
mov cx,5
call figura
inc stroka
inc stolb
mov cx,3
call figura
inc stroka
inc stolb
mov cx,1
call figura
tt:
mov ah,00h
int 16h
cmp al,1bh
je en1
jmp tt2
en1:
jmp en
tt2:
cmp ah,50h
jne tt1
mov al,stroka
cmp al,24
je start1
call perexod
inc stroka1
jmp start1
tt1:
cmp ah,48h
jne tt3
mov al,stroka
cmp al,6
je qq
call perexod
dec stroka1
qq:
jmp start1
tt3:
jmp tt
figura:
mov ah,2 ;Ф-я BIOS установка позиции курсора
mov bh,0 ;0-страница
mov dh,stroka ;Строка
mov dl,stolb ;Столбец
int 10h ;Вызов прерывания BIOS
mov ax,1003h
mov bl,00h
int 10h
mov ah,09 ;Ф-я DOS вывод символа
mov al,06h ;символ
mov bl,24h
int 10h ;Вызов прерывания DOS
ret
vuvod:
mov ah,2 ;Ф-я BIOS установка позиции курсора
mov bh,0 ;0-страница
mov dh,stroka ;Строка
mov dl,stolb ;Столбец
int 10h ;Вызов прерывания BIOS
mov ax,1003h
mov bl,00h
int 10h
mov ah,09 ;Ф-я DOS вывод символа
mov al,00h ;символ
mov bl,00h
int 10h ;Вызов прерывания DOS
ret
perexod:
mov al,stroka1
mov stroka,al
mov al,stolb1
mov stolb,al
mov cx,1
call vuvod
inc stroka
dec stolb
mov cx,3
call vuvod
inc
stroka
dec stolb
mov cx,5
call vuvod
inc stroka
dec stolb
mov cx,7
call vuvod
inc stroka
inc stolb
mov cx,5
call vuvod
inc stroka
inc stolb
mov cx,3
call vuvod
inc stroka
inc stolb
mov cx,1
call vuvod
ret
en:
mov ah,4ch
int 21h
end Start