
- •Министерство образования и науки, молодежи и спорта украины министерство образования и науки, молодежи и спорта арк крымский инженерно-педагогический университет
- •Контрольная работа
- •Обычные символы (литералы) и специальные символы (метасимволы)
- •Любой символ
- •Символьные классы (наборы символов)
- •Позиция внутри строки
- •Квантификация (поиск последовательностей)
- •Жадная и ленивая квантификация
- •Ревнивая квантификация (Сверхжадная)
- •Модификаторы
- •Комментарии
- •Перечисление
- •Просмотр вперёд и назад
- •Поиск по условию
- •Задание 2 Осветить вопрос по теме «Защищенный режим процессора Intel»
- •Задание 3 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 4 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 5 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
- •Задание 6 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
Задание 6 Составить программу (для 16-разрядного процессора), реализующую следующее задание:
Составить программу преобразования целого положительного числа, записанного в системе с основанием q=10, в равное ему число в системе с основанием р. Ввод данных обеспечить при помощи клавиатуры, вывод данных осуществить на экран.
Вариант q |
Вариант p |
10 |
13 |
.MODEL small
stack 255
dataseg
str1 db "Введите число от 0 до 49 и нажмите p$"
str2 db "Нажмите ESC для выхода$"
stolb db ?
stolb1 db ?
sd1 db ?
sd2 db ?
sd3 db ?
sd5 db ?
wer db ?
fg1 db ?
codeseg
start:
mov ax,@data
mov ds,ax
mov ah,00h ;отчистка экрана
mov al,03h ;параметры экрана
int 10h
mov ah,2 ;Ф-я BIOS установка позиции курсора
mov bh,0 ;0-страница
mov dh,1 ;Строка
mov dl,1 ;Столбец
int 10h ;Вызов прерывания BIOS
lea dx,str1
mov ah,09h
int 21h
mov ah,2 ;Ф-я BIOS установка позиции курсора
mov bh,0 ;0-страница
mov dh,15 ;Строка
mov dl,1 ;Столбец
int 10h ;Вызов прерывания BIOS
lea dx,str2
mov ah,09h
int 21h
tur:
mov stolb,5h
mov stolb1,5h
mov sd2,13h
tur1:
mov ah,02h ;установка позиции курсора
mov dh,5h ;кол-во строк
mov dl,stolb ;кол-во колонок
int 10h
mov ah,00h ;Сканируем клавиатуру с одновременным
int 16h ;выводом нажатого символа на экран
cmp al, 1bH ;если нажат "ESC" то прыжок на метку en1
je en1
cmp al, 70h ;если нажат "p" то прыжок на метку tur1 для перевода
je tur2
cmp al,30h
jl tur1
cmp al,39h
jg tur1
jmp ty
en1:
jmp en
ty:
mov dl,al
mov ah,0ah ;запись символа в текущую позицию курсора
mov al,dl ;код символа "&"
mov cx,01d ;кол-во символов
int 10h
inc stolb
mov sd5,al
mov al,stolb
cmp al,7h
je tur3
mov al,sd5
clc
sbb al,30h
mov wer,al
jmp tur1
tur3:
mov al,sd5
clc
sbb al,30h
mov cl,4
rcl wer,cl
add wer,al
mov stolb,5h
jmp tur1
tur2:
call delen
mov ah,02h ;установка позиции курсора
mov dh,9h ;кол-во строк
mov dl,stolb1 ;кол-во колонок
int 10h
mov ah,0ah ;запись символа в текущую позицию курсора
mov al,sd1 ;код символа "&"
mov cx,01d ;кол-во символов
int 10h
inc stolb1
mov ah,02h ;установка позиции курсора
mov dh,9h ;кол-во строк
mov dl,stolb1 ;кол-во колонок
int 10h
mov ah,0ah ;запись символа в текущую позицию курсора
mov al,sd3 ;код символа "&"
mov cx,01d ;кол-во символов
int 10h
inc stolb1
jmp tur1
delen:
mov al,wer
mov ah,0h
div sd2
mov sd1,al
add sd1,30h
mov sd3,ah
mov al,sd3
cmp al,6h
jl met5
cmp al,10h
jl
met
add sd3,51h
jmp met2
met:
clc
sbb al,6h
mov sd3,al
add sd3,30h
jmp met2
met5:
add sd3,5dh
met2:
ret
en:
mov ah,4ch
int 21h
end start