|
Методические указания по Организации ЭВМ и систем
Лабораторная работа 7.
Пример решения:
{Лабораторная работа №7. Чтение символа с монитора / адаптера
Привалко Катерина, гр.22-6 04.11.00}
Program Katie_7;
Uses Crt;
Var Simb : Byte;
Pos_X, Pos_Y : Word;
I : Integer;
{*** Чтение символа ***}
Procedure Read_Char (X, Y : Byte); Assembler;
Asm
Mov Ah,02 {Установить положение курсора}
Mov Bh,00 {Страница 0}
Mov Dh,X {Строка}
Mov Dl,Y {Столбец}
Int 10h {Вызвать BIOS}
Mov Ah,08 {Запрос на чтение атр./симв.}
Mov Bh,00 {Страница 0 (для текстового реж.)}
Int 10h {Вызвать BIOS}
Mov Simb,Al
End;
{*** Замусорить экран ***}
Procedure Trash_It;
Begin
For I:=1 To 50*25 Do
Write (Chr(Random(256)));
End;
Begin
TextColor(15);
TextBackGround(0);
Randomize;
ClrScr;
Trash_It;
Pos_X:=Random(20);
Pos_Y:=Random(40);
Read_Char (Pos_X, Pos_Y);
GoToXY (10, 10);
TextColor (15);
TextBackGround (LightBlue);
Write ('*** В позиции (', pos_x+1, ',', pos_y+1, ') находится символ "',
Chr(Simb), '" ***');
GoToXY (Pos_Y+1, Pos_X+1);
ReadKey;
End.
|