ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² Cga, Ega, Vga

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Из-Π·Π° особСнности микросхСмы Motorola 6845, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ CGA, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ видСопамяти Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ: пСрвая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° видСопамяти (Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π’800:0000) содСрТит Π΄Π°Π½Π½Ρ‹Π΅ всСх Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ экрана, Π° Π²Ρ‚орая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° (ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π’800:2000) содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π²ΡΠ΅Ρ… Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ пиксСлу соотвСтствуСт Π΄Π²Π° Π±ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ изобраТСния 4 Ρ†Π²Π΅Ρ‚ΠΎΠ²… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² Cga, Ega, Vga (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ сСрии IBM PC ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ²Π°Π»ΠΈΡΡŒ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ MDA (Monochrome Display Adapter) с ΠΌΠΎΠ½ΠΎΡ…Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ дисплССм. CGA (Color Graphics Array) стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚Π½Ρ‹ΠΌ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ Ρ„ΠΈΡ€ΠΌΡ‹ IBM. Π—Π°Ρ‚Π΅ΠΌ Ρ„ΠΈΡ€ΠΌΠ° IBM выпустила Π΄Π²Π°, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Π² Π½Π°ΡΡ‚оящСС врСмя, Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° — EGA (Enhanced Graphics Array) ΠΈ VGA (Video Graphic Array). Они созданы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнтной Π±Π°Π·Π΅ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΡƒΡŽ, Ρ‡Π΅ΠΌ Ρƒ CGA Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ большСм числС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ².

Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ врСмя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΈΡ€ΠΌΡ‹ — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², выпустили большоС количСство ΠΏΠ»Π°Ρ‚, прСвосходящих ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ возмоТностям VGA. Π­Ρ‚ΠΈ ΠΏΠ»Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Super VGA, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠΊΠ° Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стандарта.

АрхитСктура Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° CGA.

Π’ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ построСн Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ микросхСмы Motorola 6845 ΠΈΠ»ΠΈ Π΅Π΅ Π°Π½Π°Π»ΠΎΠ³Π°. Π­Ρ‚Π° микросхСма содСрТит ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ элСктронно-Π»ΡƒΡ‡Π΅Π²ΠΎΠΉ Ρ‚Ρ€ΡƒΠ±ΠΊΠΈ. АдаптСр CGA ΠΈΠΌΠ΅Π΅Ρ‚ 16 ΠšΠ±Π°ΠΉΡ‚ видСопамяти. Π’ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ пСриодичСски отобраТаСтся Π½Π° ΡΠΊΡ€Π°Π½ дисплСя, формируя ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ нСпосрСдствСнно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, которая располоТСна Π² Π΅Π³ΠΎ адрСсном пространствС ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ся с Π°Π΄Ρ€Π΅ΡΠ° Π’800:0000.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ страниц, ΠΏΡ€ΠΈ этом ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… являСтся Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈ ΠΎΡ‚обраТаСтся Π½Π° ΡΠΊΡ€Π°Π½. Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ‚Π°ΠΊ ΠΈ Π² Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ страницу, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ страницы.

ВСкстовый Ρ€Π΅ΠΆΠΈΠΌ CGA.

Π’ Ρ‚Скстовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… (Ρ€Π΅ΠΆΠΈΠΌΡ‹ 1, 2, 3, 4) Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ тСкстовыС символы ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹ псСвдографики. Для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ знакомСста экрана (символа) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… содСрТит ASCII ΠΊΠΎΠ΄ символа, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ символа (Ρ†Π²Π΅Ρ‚ символа ΠΈ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°). ΠšΠΎΠ΄Ρ‹ символов ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ адрСса, Π° ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ — Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅.

R G B R G B.

7 6 5 4 3 2 1 0.

Π¦Π²Π΅Ρ‚ символа Π˜Π½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ символа Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° символа МиганиС Ρ„ΠΎΠ½Π° символа ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

R — красный Ρ†Π²Π΅Ρ‚.

G — Π·Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚.

B — синий Ρ†Π²Π΅Ρ‚ Для программирования Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ нСпосрСдствСнно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ отводится ΠΏΠΎ 2 Π±Π°ΠΉΡ‚Π°, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ смСщСниС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ согласно Π΅Π³ΠΎ полоТСнию Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 80 символов Π½Π° 25 строк, Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку отводится 80*2 Π±Π°ΠΉΡ‚Π° ΠΈ ΠΏΠ»ΡŽΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ символа Π½Π° ΡΡ‚Ρ€ΠΎΠΊΠ΅*2 Π±Π°ΠΉΡ‚Π°.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρƒ экрана Π½Π° ΡΠΈΠ½Π΅ΠΌ Ρ„ΠΎΠ½Π΅ ΠΊΡ€Π°ΡΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ, А (ΠΊΠΎΠ΄ 65).

Из ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ рисунка Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π±Π°ΠΉΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

10 100 Π’ = 16 + 4 = 20.

mem[$b800:160*12+40*2] := 65; - запись Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ символа.

mem[$b800:160*12+40*2+1] := 20; - запись Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

{Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° 24 строку ΠΌΠ΅Ρ€Ρ†Π°ΡŽΡ‰ΡƒΡŽ надпись «Π’ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ Super VGA» }.

uses crt;

var i: integer;s:string;

begin clrscr;

s:='Π’ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ Super VGA';

for i:=1 to length (s) do.

mem[$b800:160*24+30*2+i*2] := ord (s[i]);

repeat.

for i:=1 to length (s) do.

mem[$b800:160*24+30*2+i*2+1] :=.

random (15)+1+16;delay (1000) ;

until keypressed;

end.

{ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ вирус «Π›ΠΈΡΡ‚ΠΎΠΏΠ°Π΄». ВсС символы экрана Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΡΡ‹ΠΏΠ°Ρ‚ΡŒΡΡ Π² Π½ΠΈΠΆΠ½ΡŽΡŽ строку}.

uses crt;

var x, y: integer;s, c, c1:byte;

begin.

for x:=0 to 2000 do.

mem[$b800:x*2]: =random (24)+95;

repeat x:=random (80);y:=random (25);

c1:=32; {ΠΊΠΎΠ΄ «ΠŸΡ€ΠΎΠ±Π΅Π»Π°» }.

c:=mem[$b800:y*160+x*2];

repeat.

mem[$b800:y*160+x*2]: =c1;

c1:=mem[$b800:(y+1)*160+x*2];

mem[$b800:(y+1)*160+x*2]: =c;

y:=y+1;delay (1000);

until y>24;

until keypressed;

end.

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ символа Π½Π° ΡΠΊΡ€Π°Π½Π΅ происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ASCII Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив пиксСлов. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π° трансляции символов (Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€). Π£ CGA Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ располоТСн Π² ΠŸΠ—Π£, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ символа. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ большиС слоТности с «Π ΡƒΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ».

Π’ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ РаспрСдСлСниС видСопамяти Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ отличаСтся ΠΎΡ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ памяти Π² Ρ‚Скстовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. Π­Ρ‚ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ экрана.

Из-Π·Π° особСнности микросхСмы Motorola 6845, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ CGA, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ видСопамяти Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ: пСрвая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° видСопамяти (Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π’800:0000) содСрТит Π΄Π°Π½Π½Ρ‹Π΅ всСх Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ экрана, Π° Π²Ρ‚орая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° (ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π’800:2000) содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π²ΡΠ΅Ρ… Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ пиксСлу соотвСтствуСт Π΄Π²Π° Π±ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ изобраТСния 4 Ρ†Π²Π΅Ρ‚ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ смСщСниС Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° видСопамяти:

Если Π£ — Ρ‡Π΅Ρ‚Π½Ρ‹Π΅, Ρ‚ΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π° = 50h*(y/2)+(x/4)

Если Π£ — Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅, Ρ‚ΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π° = 200Ρ€+50h*((y-1)/2)+(x/4)

НомСр ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° = 7-mod (x/4)*2

АрхитСктура Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° EGA ΠΈ VGA.

Π’ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ EGA ΠΈ VGA условно дСлятся Π½Π° ΡˆΠ΅ΡΡ‚ΡŒ логичСских Π±Π»ΠΎΠΊΠΎΠ²:

Π’ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ Π½Π° ΡΠΊΡ€Π°Π½Π΅ дисплСя. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ объСм 256 ΠšΠ±Π°ΠΉΡ‚. ЀизичСски ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 4 Π±Π°Π½ΠΊΠ°, ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… слоя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… совмСстно Π΅Π΄ΠΈΠ½ΠΎΠ΅ адрСсноС пространство.

ГрафичСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. ΠŸΠΎΡΡ€Π΅Π΄ΡΡ‚Π²ΠΎΠΌ Π΅Π³ΠΎ происходит ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π±Π°ΠΉΡ‚, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π±ΠΈΡ‚ΠΎΠ² ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ†Π²Π΅Ρ‚Π°Ρ….

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π­Π›Π’. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ синхросигналы, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎ Π›ΡƒΡ‡Π΅Π²ΠΎΠΉ Π’Ρ€ΡƒΠ±ΠΊΠΎΠΉ.

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€. УправляСт всСми Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°.

ВСкстовый Ρ€Π΅ΠΆΠΈΠΌ ΠŸΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ символов Π½Π° ΡΠΊΡ€Π°Π½ происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΈΠ· ASCII Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив пиксСлов, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½. Для этого прСобразования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π° трансляции символов (Π—Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€). Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° хранится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΌ слоС.

Π—Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€ΠΈ установкС тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° BIOS Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ· ΠŸΠ—Π£ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой видСопамяти. Благодаря этому ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ своСй собствСнной.

EGA ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ символов 8×8 ΠΈ 8×14. VGA 9×16.

На ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ отводится 32 Π±Π°ΠΉΡ‚Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ срСдства BIOS для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ.

Ѐункция 00h прСрывания 10h позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ любой стандартный Ρ€Π΅ΠΆΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°:

На Π²Ρ…ΠΎΠ΄Π°: Ah = 00h.

AL = Π½ΠΎΠΌΠ΅Ρ€ устанавливаСмого Ρ€Π΅ΠΆΠΈΠΌΠ°. Если 7 Π±ΠΈΡ‚ =1, Ρ‚ΠΎ ΠΏΡ€ΠΈ установкС Ρ€Π΅ΠΆΠΈΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ся.

Ѐункция 01h позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ курсора ΠΏΡƒΡ‚Π΅ΠΌ задания Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 01h.

Ch = вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° курсора.

  • 0 —
  • 1 — ВСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° курсора
  • 2 —
  • 3 —
  • 4 — 00 — ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ курсор
  • 5 01 — Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ курсор
  • 6 10 — ΠΌΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ курсор
  • 11 — быстро ΠΌΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ

CL = НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° курсора.

Ѐункция 02h Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ курсора Π½Π° ΡΠΊΡ€Π°Π½Π΅.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 02h.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы видСопамяти.

Dh = Π½ΠΎΠΌΠ΅Ρ€ строки (0−24).

DL = Π½ΠΎΠΌΠ΅Ρ€ столбца (0−89).

Ѐункция 03h позволяСт ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ курсора.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 03h.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы видСопамяти На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Π‘h = вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° курсора.

CL = НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° курсора.

Dh = позиция строки курсора.

DL = позиция столбца курсора.

Ѐункция 05h позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ страницу видСопамяти.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 05h.

AL = Π½ΠΎΠΌΠ΅Ρ€ страницы.

Ѐункция 06h позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ свСртку ΠΎΠΊΠ½Π° Π²Π²Π΅Ρ€Ρ….

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 06h.

AL = Число ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, Ссли =0, Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ прокручиваСтся Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Bh = Атрибут для строк, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… снизу.

Ch = Π½ΠΎΠΌΠ΅Ρ€ строки Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΎΠΊΠ½Π°.

CL = Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΎΠΊΠ½Π°.

Dh = Π½ΠΎΠΌΠ΅Ρ€ строки Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°.

DL = Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π°.

Ѐункция 07h позволяСт ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π²Π½ΠΈΠ· (Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).

Ѐункция 08h позволяСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ символ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ экрана.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 08h.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы видСопамяти На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AL = ASCII — ΠΊΠΎΠ΄ символа.

Ah = Π±Π°ΠΉΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² символа.

Ѐункция 09h позволяСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько символов с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 09h.

AL = ASCII — ΠΊΠΎΠ΄ символа.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы видСопамяти.

BL = Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚.

Cx = число записываСмых символов.

Ѐункция 0Π‘h позволяСт вывСсти Π½Π° ΡΠΊΡ€Π°Π½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 0Ch.

AL = Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚Π°.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы.

Cx = Π₯ — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°.

Dx = Y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°.

Ѐункция 0Dh позволяСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ экрана.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 0Dh.

AL = Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚Π°.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы.

Cx = Π₯ — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°.

Dx = Y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AL = НомСр Ρ†Π²Π΅Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠΈ.

Ѐункция 0Fh позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π΅ΠΆΠΈΠΌ.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 0Dh.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Ah = число символов Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅.

AL = Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.

Bh = Π½ΠΎΠΌΠ΅Ρ€ страницы Π Π°Π±ΠΎΡ‚Π° со Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Ѐункция 11h прСрывания 10h слуТит для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 11h.

AL = 00h, 10h — подфункция Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ES:BP = АдрСс Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π½ΠΎΠ²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов.

Π‘X = число Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… символов.

Dx = смСщСниС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° (Π Π°Π²Π½ΠΎ ΠΊΠΎΠ΄Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ замСняСмого символа).

BL = Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Bh = число Π±Π°ΠΉΡ‚ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (1−32).

ΠŸΠΎΠ΄Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ 04h Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 11h, прСрывания INT 10h позволяСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стандартный Π½Π°Π±ΠΎΡ€ символов VGA.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 11h.

AL = 04h, 14h — Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π°Π±ΠΎΡ€Π° символов ΠΈΠ· ΠŸΠ—Π£.

BL = Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠŸΠΎΠ΄Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ 36h Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 12h позволяСт Π³Π°ΡΠΈΡ‚ΡŒ экран дисплСя.

На Π²Ρ…ΠΎΠ΄Π΅: Ah = 12h.

BL = 36h — гашСниС дисплСя.

AL = 0 — Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ экрана.

1 — гашСниС экрана.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пСрСпрограммирования Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ заглавная Π±ΡƒΠΊΠ²Π° Π₯ (ΠΊΠΎΠ΄ 88) замСняСтся Π½Π° «ΠŸΠ»ΡΡˆΡƒΡ‰Π΅Π³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ°». ΠžΡ‚Π½Ρ‹Π½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡΠΊΡ€Π°Π½ Π₯ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ°. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стандартный Π½Π°Π±ΠΎΡ€ символов, Π½Π°Π΄ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ r. AL: = 4, ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

uses dos;

const a: array[1.14] of byte=(0,0,24,36,24,60,90,151,24,24,36,102,66,129);

var r: registers; i: integer;

begin.

writeln ('X');readln;

r.ah:=$ 11;

r.al:=$ 0;

r.es:=seg (a);

r.bp:=ofs (a);

r.cx:=1;

r.dx:=88;

r.bh:=32;

r.bl:=0;

intr ($ 10,r);

readln.

end.

НСкоторыС рСгистры EGA, VGA.

РСгистры синхронизатора.

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ управляСт всСми Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌ слоям. Доступ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°ΠΌ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· индСксный ΠΏΠΎΡ€Ρ‚ с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 3C4h ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 3Π‘5h.

РСгистр с ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 2 — Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ записи Π² Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой.

7 6 5 4 3 2 1 0.

Если Π±ΠΈΡ‚ Ρ€Π°Π²Π΅Π½ 1, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой.

Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой.

Π’ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой.

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

РСгистр Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ адрСса видСопамяти, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ». Π’ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0Π‘h записываСтся ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ видСопамяти, Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0Dh записываСтся младший Π±Π°ΠΉΡ‚. Доступ ΠΊ ΡΡ‚ΠΈΠΌ рСгистрам ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρƒ VGA Π² Ρ†Π²Π΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· индСксный ΠΏΠΎΡ€Ρ‚ 3D4h ΠΈ ΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… 3D5h. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих рСгистров ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ видСопамяти.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ слои. По ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ слои записываСтся Π½Π°Π±ΠΎΡ€ ΠΈΠ· 8 Π΅Π΄ΠΈΠ½ΠΈΡ†. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 4 Ρ€Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° (синий, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, красный ΠΈ ΡΠ΅Ρ€Ρ‹ΠΉ).

uses dos;

var.

r:registers;

begin.

r.ah:=0; {Ѐункция задания Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ VGA}.

r.al:=18; {18-графичСский Ρ€Π΅ΠΆΠΈΠΌ}.

intr ($ 10,r);{Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 18 графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°}.

port[$ 3c4]: =2;{индСксный ΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ}.

{ΠΊΠΎ 2 рСгистру}.

port[$ 3c5]: =1;{Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ запись Π² 0 (синий)}.

{Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой}.

mem[$a000:15 000]: =$FF;{рисуСм ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ ΠΈΠ· 8 Ρ‚ΠΎΡ‡Π΅ΠΊ}.

port[$ 3c4]: =2;{}.

port[$ 3c5]: =2;{Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ запись Π² 1 (Π·Π΅Π»Π΅Π½Ρ‹ΠΉ)}.

{Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой}.

mem[$a000:15 001]: =$FF;

port[$ 3c4]: =2;

port[$ 3c5]: =4;{Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ запись Π²o 2 (красный)}.

{Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой}.

mem[$a000:15 002]: =$FF;

port[$ 3c4]: =2;

port[$ 3c5]: =8;{Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ запись Π² 3 (сСрый)}.

{Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ слой}.

mem[$a000:15 003]: =$FF;

ReadLn;

r.ah:=0;r.al:=3;intr ($ 10,r);{ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² 3 тСкстовый Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ VGA}.

readln;

end.

{Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ всС страницы видСопамяти}.

uses dos, crt;

var r: registers;i, j, k:integer;c:char;

begin.

for j:=0 to 7 do.

for i:=0 to 1999 do.

mem[$b800:2*i+j*4000]: =65+j;

k:=0;

repeat.

c:=readkey;

if c=#80 then k:=k+1; if k>7 then k:=0;

if c=#72 then k:=k-1; if k<0 then k:=3;

r.ah:=05;r.al:=k;intr ($ 10,r);

until c=#13;

end.

{Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ}.

uses dos, crt;

var r: registers;i, j, k:integer;c:char;

begin.

for i:=0 to 15 000 do.

mem[$b800:i]: =random (32)+64;

k:=0;

repeat.

c:=readkey;

if c=#80 then k:=k+160;

if c=#72 then k:=k-160;

j:=k mod 256;

i:=k div 256;

port[$ 3d4]: =$c;port[$ 3d5]:=i;

port[$ 3d4]: =$d;port[$ 3d5]:=j;

until c=#13;

end.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ № 2.

Π’Π΅ΠΌΠ°: Знакомство с Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ VGA. Π’ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ видСопамяти.

Π—Π°Π΄Π°Π½ΠΈΠ΅:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, Π² Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» вывСсти ΠΊΡ€Π°ΡΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ «Π» Π½Π° ΡΠΈΠ½Π΅ΠΌ Ρ„ΠΎΠ½Π΅.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ CLRSCR, которая ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ экран Π­Π’Πœ. Π”ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого ΠΏΡƒΡ‚Π΅ΠΌ заполнСния видСопамяти нулями (Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! НС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Π½ΡƒΠ»ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ тСкста, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π½Π° ΡΠΊΡ€Π°Π½ тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρƒ экрана вывСсти надпись «Super VGA». Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΅Π΅ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ отбрасываСтся Ρ‚Π΅Π½ΡŒ. ВСнь ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° (сквозь Π½Π΅Π΅ ΠΏΡ€ΠΎΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡŽΡ‚ Π±ΡƒΠΊΠ²Ρ‹) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ свСтового мСню.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ выдСлСния, копирования, вставки, удалСния Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° тСкста.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ № 3.

Π’Π΅ΠΌΠ°: Знакомство с Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ VGA. Π’ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒ.ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ видСопамяти. РаспрСдСлСниС памяти Π² Π³Ρ€Π°Ρ„ичСских Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. ИспользованиС срСдств BIOS для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ.

Π—Π°Π΄Π°Π½ΠΈΠ΅:

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, которая ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, Π² 4 графичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ нСбольшой Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ, ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ окруТности. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ-ΠΆΠ΅ самоС Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… графичСских Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ….

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT 10h.

4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, управлСния курсором IBM PC:

a) Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ позиционирования курсора;

  • Π±) ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ курсора;
  • Π²) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ курсора;
  • Π³) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ курсора;
  • Π΅) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ курсора.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ страницы тСкста, находящСгося Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ тСкст, находящийся Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ, измСняя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° экрана. Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая создаСт эффСкт «ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ» ΠΏΠΎ ΡΠΊΡ€Π°Π½Ρƒ тСкста (Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, мСняя ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΠΈ).

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ экрана (ΠΎΠΊΠ½ΠΎ).

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ № 3.

Π’Π΅ΠΌΠ°: Знакомство со Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ.ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, «ΠšΠ°Π·ΠΈΡ„икация Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°».

Π—Π°Π΄Π°Π½ΠΈΠ΅:

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠŸΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ символ Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊΠΎΠ΄ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, вывСсти Π½Π° ΡΠΊΡ€Π°Π½ ΠΎΠ±Ρ€Π°Π· «ΠŸΠ»ΡΡˆΡƒΡ‰Π΅Π³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ°». Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая заставляСт ΡˆΠ°Π³Π°Ρ‚ΡŒ ΠΏΠΎ ΡΠΊΡ€Π°Π½Ρƒ этого «Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ°» (Π² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСпрограммирования Π·Π½Π°ΠΊΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Π·Π°Π΄Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ казахского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. ВывСсти Π½Π° ΡΠΊΡ€Π°Π½ нСсколько ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΊΠ°Π·Π°Ρ…ском языкС.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ быстро ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой символ. ΠžΠ±Ρ€Π°Π· символа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ графичСской Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ