/* Labv8: Ass, and Ci functions Шаблон программы для работы с видеосистемой Текстовый режим */ #include #include #include #include #include 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; }