Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .data
- quote1 db '|Hard is the first step.$'
- quote2 db '|Varro, Mark Terence$'
- quote3 db '|116-27 years. BC$'
- author db 'Skrebnev Igor$'
- my_group db 'IUK4-32B$'
- fakult db 'IUK$'
- .code
- start:
- mov ax,@data
- mov ds,ax
- ; для начала необходимо очистить экран
- ; от того что на нём чтобы можно
- ; было нарисовать что-то своё
- ; чистим экран
- mov ah, 6 ; очиста экрана
- mov al, 0 ; указание на очистку всего экрана
- mov bh, 03fh ; цвет фона
- mov cx,0000 ; левая вые верхие координаты
- mov dx, 184fh
- ; размер окна 80 на 25
- ; последние индексы соответсвенно 79 и 24
- ; в hex кодировке это будут 4f и 18
- int 10h ; прервыание биоса
- ; экран очищен
- ; теперь напишем цитатку в центре экрана
- ; цитата сосотоит из 3-х линий
- ; поставим курсор для вывода первой линии
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 11, 27
- ; в hex это будет 0b и 1b соответсвенно
- mov dx, 0b1bh
- int 10h ; прервыание биоса
- ; позиция курсора установлена на нужное нам место
- ; теперь можно вывести строку
- mov ah, 09h ; код функции печати
- mov dx, offset quote1 ; указываем строку
- int 21h ; прерывание DOS
- ; выведем 2-ю строку
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 12, 27
- ; в hex это будет 0c и 1b соответсвенно
- mov dx, 0c1bh
- int 10h ; прервыание биоса
- mov ah, 09h ; код функции печати
- mov dx, offset quote2 ; указываем строку
- int 21h ; прерывание DOS
- ; аналогичко для 3-й строки
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 13, 27
- ; в hex это будет 0d и 1b соответсвенно
- mov dx, 0d1bh
- int 10h ; прервыание биоса
- mov ah, 09h ; код функции печати
- mov dx, offset quote3 ; указываем строку
- int 21h ; прерывание DOS
- ; теперь надо вывести текст по углам
- ; начнём с левого верхнего
- ; напишу там свои инициалы
- ; установка курсора
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 0, 0
- ; в hex это будет 00 и 00 соответсвенно
- mov dx, 0000h
- int 10h ; прервыание биоса
- mov ah, 09h ; код функции печати
- mov dx, offset author; указываем строку
- int 21h ; прерывание DOS
- ; теперь нормег группы справа сверху
- ; установка курсора
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 0, 72
- ; в hex это будет 00 и 48 соответсвенно
- mov dx, 0048h
- int 10h ; прервыание биоса
- mov ah, 09h ; код функции печати
- mov dx, offset my_group; указываем строку
- int 21h ; прерывание DOS
- ; затем факултет слева снизу
- ; установка курсора
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 24, 0
- ; в hex это будет 18 и 0 соответсвенно
- mov dx, 1800h
- int 10h ; прервыание биоса
- mov ah, 09h ; код функции печати
- mov dx, offset fakult; указываем строку
- int 21h ; прерывание DOS
- ; теперь 5 знаков ! красного цвета
- mov ah, 02h ; код функции установки позиции курсора
- mov bh, 0 ; текущий экран
- ; напечатаем в позиции 24, 75
- ; в hex это будет 18 и 4b соответсвенно
- mov dx, 184bh
- int 10h ; прервыание биоса
- ; выведем 5 знаков ! справа снизу, через прервыание биоса
- mov ah, 09h; код функции рисования символа
- mov al, '!' ; установка символа
- mov bh, 0 ; на текущем экране
- mov bl, 00111100b ; установка цвета
- ; первые 4 бита
- ; 0011 - бирюзовый цвет на фоне без мигания
- ; 1100 - яркий красный цвет знаков !
- mov cx, 5 ; количество раз который символ выведется
- int 10h
- ; теберь будем считывать ввод пользователя без вывода
- ; чтобы можно было посмотреть выполнение программы
- ; аналогично выполнению комманды pause
- mov ah, 07h ; код функции ввода без отображения вводимых символов
- int 21h ; прерывание DOS
- ; выход
- mov ah, 04Ch
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement