Files
templates/Labv8.cpp
2024-09-10 22:24:24 +03:00

69 lines
2.0 KiB
C++
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Labv8: Ass, and Ci functions
Шаблон программы для работы с видеосистемой
Текстовый режим
*/
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
void page(char a) // Установка номера активной дисплейной стр.
{
asm {
mov ah,0x05
mov al,a
int 0x10
}
}
void main()
{
// установка видеорежима
asm{
mov al,02h
mov ah,00h
int 10h
} page(0);
clrscr();
// Вывод текста средствами Си
for(char n = 1; n <= 100; n++)
// -- здесь сам вывод -
// Выод текста в режиме непосредств работы с видеопамятью
page(0);
asm mov cx,1000 // Задаем количество символов
asm mov di,0 // Обнуляем индекс
e1: asm { add di, 2
mov ax, 0xb800 // Определяем начальный адрес
mov es, ax
mov al, cl
mov es: [di],al // Пересылаем четный первый байт в видеопамять
mov al, 4
mov es: [di+1],al // Пересылаем нечетный второй байт
};
asm loop e1
getch();
// Задания
// 1 Выведите текст с использ Си.
// Раскрасте его зеленым цветом с использованием Асс.
// Определите время вывода в обоих случаях
// 2 Протестируйте размер текстовой дисплейной страницы.(Напишите
// программу на Асс вывода символов в начале и в конце дисплейной страницы)
// 3 Выведите текст на вторую дисп страницу
// 4 Организуйте переключение страниц
/* while (bioskey(1) == 0)
{
page(0); delay(1000);
} */
return;
}