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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. 
БистСмы счислСния, примСняСмыС Π² Π­Π’Πœ. 
Π£Ρ€ΠΎΠ²Π½ΠΈ программирования

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

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ микросхСму, Π·Π°Ρ‚Π΅ΠΌ обращаСтся ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄Π΅Π»Π°ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ микросхСма 8253 дСйствуСт ΠΊΠ°ΠΊ часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — ΠΎΠ½Π° считаСт свои ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Однако, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1/12 сСкунды. Для подсчСта ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ‡Π°ΡΡ‹ ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. БистСмы счислСния, примСняСмыС Π² Π­Π’Πœ. Π£Ρ€ΠΎΠ²Π½ΠΈ программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Когда Π½Π°ΠΆΠ°Ρ‚Π° клавиша, вызываСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT 9 (IRQ 1). АВ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ скан ΠΊΠΎΠ΄Ρ‹ Π΄Π²Π° Ρ€Π°Π·Π°, ΠΊΠΎΠ³Π΄Π° клавиша Π½Π°ΠΆΠ°Ρ‚Π° ΠΈ ΠΊΠΎΠ³Π΄Π° клавиша ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π°. НаТатыС клавиши заносятся Π² Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€ (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΡˆΠ΅Π», ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π²Ρ‹ΠΉΠ΄Π΅ΡˆΡŒ), всСго Π΄ΠΎ 15 символов.

Π’ ΡΡ‡Π΅ΠΉΠΊΠ°Ρ… 0040:001А ΠΈ 0040:001Π‘ хранятся Π³ΠΎΠ»ΠΎΠ²Π° ΠΈ Ρ…вост Π±ΡƒΡ„Π΅Ρ€Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки 0040:001Π‘ Ρ€Π°Π²Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ячСйки 0040:001А. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Π₯воста» ΠΈ «Π“ΠΎΠ»ΠΎΠ²Ρ‹» Π±ΡƒΡ„Π΅Ρ€Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° клавиша, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, какая Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° клавиша.

Ѐункция 0Bh 21h прСрывания Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² AL Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0FFh, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΡ„Π΅Ρ‚ содСрТит символы ΠΈ 0, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΡ„Π΅Ρ€ пуст.

Ѐункция 7, 8 прСрывания 21h ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄Π° символа, Ссли Π±ΡƒΡ„Π΅Ρ€ пуст. Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π° ΡΠΊΡ€Π°Π½ Π½Π΅ ΠΎΡ‚обраТаСтся. (Ѐункция 8 распознаСт ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ^Break). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Π²ΠΎΠ΄Π° читаСтся ΠΈΠ· AL (ASCII — ΠΊΠΎΠ΄), Если Ρ‚Π°ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Ρ‚.Π΅. ASCII=0), ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ запуск этого прСрывания, Π² AL появляСтся Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

16h ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ BIOS Π΄Π°Π΅Ρ‚ Ρ‚Ρƒ — ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (0 — функция). ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ выполняСтся 1 Ρ€Π°Π·. AL — ASCII ΠΊΠΎΠ΄. Если AL=0, Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² AH. (^ Break Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ‚ся) ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ пароля. НаТимаСмыС с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ символы Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ Π½ΠΈΡ… Π½Π° ΡΠΊΡ€Π°Π½ выводятся Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ INT16h прСрывания.

uses dos;

var r: registers;s:string;

begin.

s:='';

repeat.

r.ah:=0;intr ($ 16,r);write ('*');s:=s+chr (r.al);

until r. al=13;

writeln;writeln (s);

readln.

end.

Ѐункция 6 прСрывания 21h — СдинствСнный способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ Π±Π΅Π· оТидания. Ѐункция Π½Π΅ Π΄Π°Π΅Ρ‚ «Π­Ρ…ΠΎ» Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ‚ ^ Break.

На Π²Ρ…ΠΎΠ΄Π΅: AX=6h;

DL=0FFh.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AL=ASCII ΠΊΠΎΠ΄ (Если 0, Ρ‚ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΎ) Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ, Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρƒ экрана Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ выводится сам символ ΠΈ Π΅Π³ΠΎ ASCII — ΠΊΠΎΠ΄. Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши «ESC».

Uses dos, crt;

var r: registers;

begin clrscr;

repeat.

gotoxy (30,12);write ('/ ');delay (500);

gotoxy (30,12);write ('- ');delay (500);

gotoxy (30,12);write (' ');delay (500);

gotoxy (30,12);write ('| ');delay (500);

r.ah:=6;r.dl:=$FF;intr ($ 21,r);

if r. al0 then writeln (chr (r.al):2,r.al:3);

until r. al=27;

end.

Ѐункция 0Ah прСрывания INT 21h позволяСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ строку Π΄Π»ΠΈΠ½Π½ΠΎΠΉ 254 символа, выдавая эхо Π½Π° ΡΠΊΡ€Π°Π½. DS: DX — ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π°Π΄Ρ€Π΅Ρ памяти, ΠΊΡƒΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° строка.

Ѐункция 3Fh прСрывания INT 21h обСспСчиваСт Π²Π²ΠΎΠ΄ строки Π±Π΅Π· эха Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π’ Π’Π₯ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 0, DS: DX — адрСс памяти, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° строка. CX — Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ строки.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 05h Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСрывания INT16h ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ символ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π”Π°Π½Π½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. Для этого ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ записываСтся нуТная строка ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ся ΠΊΠΎΠ΄ΠΎΠΌ .

Π’Ρ…ΠΎΠ΄: Ah = 05h.

CL = ASCII ΠΊΠΎΠ΄ записываСмого символа.

CH = Π‘ΠΊΠ°Π½ ΠΊΠΎΠ΄ записываСмого символа.

Π’Ρ‹Ρ…ΠΎΠ΄:AL = 0 — Π—Π°ΠΏΠΈΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

1 — Π‘ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½.

МоТно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ вывСсти Π½Π° ΡΠΊΡ€Π°Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку:

C:dir *.exe+.

uses dos;

const s: string='DIR *.exe'+#13;

var r: registers;i:integer;

begin.

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

begin.

r.ah:=5;r.cl:=ord (s[i]);

intr ($ 16,r);

end;

end.

ПослС выполнСния этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС появляСтся строка dir *.exe+ которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ список Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС № 5.

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

ВСорСтичСскиС свСдСния.

КаТдой клавишС Π² Π­Π’Πœ присвоСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ скан-ΠΊΠΎΠ΄ (Π½ΠΎΠΌΠ΅Ρ€ клавиши). ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΈ ΠΎΡ‚пускании клавиши гСнСрируСтся INT 9 ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ воспринимаСт ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши ΠΈ Π² ΡΠΎΠΎΡ‚вСтствии с Ρ„Π»Π°ΠΆΠΊΠΎΠ²Ρ‹ΠΌ рСгистром ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ASCII ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π”Π°Π»Π΅Π΅ этот ΠΊΠΎΠ΄ пСрСдаСтся Π² Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ построСн ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ цикличСской ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ Ρ…вост ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ находятся ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ 0040:001А ΠΈ 0040:001Π‘ соотвСтствСнно. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ Π½Π° Ρ…вост ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, говорят, Ρ‡Ρ‚ΠΎ Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ пуст. ВсСго Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎ 15 символов.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π±ΡƒΡ„Π΅Ρ€Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½Π΅ΠΌ символов, для Π²Π²ΠΎΠ΄Π° символов с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π±Π΅Π· оТидания, DOS прСдоставляСт ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ возмоТности с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ 21h прСрывания. BIOS прСдоставляСт ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 16h прСрывания. Π—ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ±Ρ‹ΡΡ‚Ρ€Π΅Π½ΠΈΠ΅ дСйствия ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΡ€Ρ‚ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 60h.

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

Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ASCII ΠΈ Π‘ΠΊΠ°Π½ ΠΊΠΎΠ΄Ρ‹, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ клавиш.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΡƒΡŽ состояниС свСтодиодов Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ Π² Π±Π°ΠΉΡ‚Π°Ρ… состояния ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΡƒΡŽ наТатия Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ оТидания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ символы ''.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Readkey ΠΈ Keypressed. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ «ΠΏΠ°Ρ€ΠΎΠ»Ρ» с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π½Π° ΡΠΊΡ€Π°Π½ Π·Π²Π΅Π·Π΄ΠΎΡ‡Π΅ΠΊ, вмСсто Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ символов.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ клавиш Π»ΠΈΠ±ΠΎ, Π»ΠΈΠ±ΠΎ .

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° 5 сСкунд дСйствиС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ (Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹).

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰ΡƒΡŽ быстродСйствиС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΡƒΡŽ Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… символов.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½Π° записывала Π² Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ MS DOS, ΠΈ ΡΡ‚ΠΈΠΌ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ запускала Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ манипулятора «ΠœΡ‹ΡˆΡŒ».

МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… способа ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ «ΠœΡ‹ΡˆΠΈ»: Π§Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ (COM1, COM2) ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вставляСтся Π² ΡΠ»ΠΎΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ «ΠœΠ°Ρ‚Сринской ΠΏΠ»Π°Ρ‚Ρ‹» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Но ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ BIOS ΠΈ DOS Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ «ΠœΡ‹ΡˆΡŒ». Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° «ΠœΡ‹ΡˆΠΈ» Ρ„Π°ΠΉΠ» config. sys Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ строку:

Device =c:mousemouse.sys.

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ рСзидСнтная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΠ½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ вызываСтся Π² Ρ„Π°ΠΉΠ»Π΅ Autoexec.bat. Π’ ΡΡ‚ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ строка:

C:mousemouse.com.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ «ΠœΡ‹ΡˆΠΈ» выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ курсора ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш.

РисуСт курсоры.

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс, основанный Π½Π° Π²Ρ‹Π·ΠΎΠ²Π΅ прСрывания INT 33h.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прСрывания:

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ «ΠœΡ‹ΡˆΠΈ».

На Π²Ρ…ΠΎΠ΄Π΅: Ax=00h.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Ax — БостояниС «ΠœΡ‹ΡˆΠΈ».

Bx — количСство клавиш «ΠœΡ‹ΡˆΠΈ».

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ курсор «ΠœΡ‹ΡˆΠΈ».

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

Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ курсор «ΠœΡ‹ΡˆΠΈ».

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

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ курсора.

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

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Bx — БостояниС клавиш «ΠœΡ‹ΡˆΠΈ».

Π‘x — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ.

Dx — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π»Π΅Π²ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ «ΠœΡ‹ΡˆΠΈ» совмСщаСт ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ курсор ΠΈ ΠΊΡƒΡ€ΡΠΎΡ€ «ΠœΡ‹ΡˆΠΈ». ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ — ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ курсор устанавливаСтся Π² Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» экрана.

uses dos, crt;

var r: registers;c:char;

begin.

r.ax:=1;intr ($ 33,r);

repeat.

r.ax:=3;intr ($ 33,r);

if r. bx and 10 then gotoxy (r.cx div 8, r. dx div 8);

if r. bx and 20 then gotoxy (1,1);

if keypressed then c:=readkey;

until c=#27;

end.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ курсор.

На Π²Ρ…ΠΎΠ΄Π΅: Ax=04h.

Π‘x — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ.

Dx — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ полоТСния курсора ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

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

Bx — Клавиша, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запоминаСтся состояниС «ΠœΡ‹ΡˆΠΈ».

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Ax — БостояниС клавиш «ΠœΡ‹ΡˆΠΈ».

Bx — ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π‘x — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ.

Dx — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ полоТСния курсора ΠΏΡ€ΠΈ отпускании клавиши «ΠœΡ‹ΡˆΠΈ».

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

Bx — Клавиша, ΠΏΡ€ΠΈ отпускании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ запоминаСтся состояниС «ΠœΡ‹ΡˆΠΈ».

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: Ax — БостояниС клавиш «ΠœΡ‹ΡˆΠΈ».

Bx — ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π‘x — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ.

Dx — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ «ΠœΡ‹ΡˆΠΈ» ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

Π—Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ двиТСния курсора ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ На Π²Ρ…ΠΎΠ΄Π΅: Ax=07h.

Cx — МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π₯.

Dx — МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π₯ Π—Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ двиТСния курсора ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ На Π²Ρ…ΠΎΠ΄Π΅: Ax=08h.

Cx — МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Y.

Dx — МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Y.

Π—Π°Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ курсора Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅.

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

Bx — НомСр ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ указатСля «ΠœΡ‹ΡˆΠΈ».

Cx — НомСр строки Ρ‚ΠΎΡ‡ΠΊΠΈ указатСля.

Es:Dx — Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ курсора (64 Π±Π°ΠΉΡ‚Π°) ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π·Π°Π΄Π°Π΅Ρ‚ графичСский курсор Π² Π²ΠΈΠ΄Π΅ 4 Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ ΡƒΠ³Π»Π°ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

uses dos, graph;

var a: array[1.64] of byte;

r:registers; gd, gm, i: integer;

begin.

gd:=detect;initgraph (gd, gm,'');

line (100,100,150,150);

for i:=1 to 32 do a[i]: =255;

a[34]: =128;a[33]:=1;

a[64]: =128;a[63]:=1;

r.ax:=$ 9;

r.es:=seg (a);

r.dx:=ofs (a);

intr ($ 33,r);

r.ax:=1;intr ($ 33,r);

readln;

closegraph;

end.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ событий.

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

CX= маска Π²Ρ‹Π·ΠΎΠ²Π°.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π»Π΅Π²ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ отпускании Π»Π΅Π²ΠΎΠΉ клавиши.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ отпускании ΠΏΡ€Π°Π²ΠΎΠΉ клавиши.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΡΡ€Π΅Π΄Π½ΡŽΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ отпускании срСднСй клавиши.

Π‘ΠΈΡ‚ 0 — Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈ любом событии.

Π‘ΠΈΡ‚ 0 — ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° событий.

ES:DX — АдрСс ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° событий.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ «ΠœΡ‹ΡˆΠΈ» Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρƒ экрана Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ красноС ΠΎΠΊΠ½ΠΎ.

uses dos, crt;

var r: registers;

procedure assa;interrupt;

begin.

window (30,10,60,15);textbackground (4);clrscr;

delay (5000);

window (1,1,80,25);textbackground (1);clrscr;

end;

begin.

r.ax:=1;intr ($ 33,r);

r.ax:=$c;r.cx:=8;r.es:=seg (assa);r.dx:=ofs (assa);

intr ($ 33,r);

readln;

end.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 6

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

Задания Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ курсор ΠΌΡ‹ΡˆΠΈ. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° «Π›Π΅Π²ΡƒΡŽ» ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΌΡ‹ΡˆΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ курсор совмСщаСтся с ΠΊΡƒΡ€ΡΠΎΡ€ΠΎΠΌ «ΠœΡ‹ΡˆΠΈ».

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ графичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (ΠΊΠ½ΠΎΠΏΠΊΠΈ). ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ происходят Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ события.

НапримСр: На ΡΠΊΡ€Π°Π½ выводятся Ρ€Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ (ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°). ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΠ½ΠΎ экрана ΠΎΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π² Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚.

Π’ Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π· указатСля «ΠœΡ‹ΡˆΡŒ».

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая создаСт Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ свСтовоС «ΠœΠ΅Π½ΡŽ». Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш управлСния курсором, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ манипулятора «ΠœΡ‹ΡˆΡŒ».

БистСмный Ρ‚Π°ΠΉΠΌΠ΅Ρ€.

ВсС IBM PC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ микросхСму Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 8253 (ΠΈΠ»ΠΈ 8254) для согласования ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΡ‹ систСмных часов. Число Ρ†ΠΈΠΊΠ»ΠΎΠ² систСмных часов прСобразуСтся Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ, Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ этих ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² подсчитываСтся для опрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ посланы Π½Π° Π³Ρ€ΠΎΠΌΠΊΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ частоты ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ частоты. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° 8253 ΠΈΠΌΠ΅Π΅Ρ‚ 3 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ…, нСзависимых ΠΊΠ°Π½Π°Π»Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ микросхСму, Π·Π°Ρ‚Π΅ΠΌ обращаСтся ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄Π΅Π»Π°ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ микросхСма 8253 дСйствуСт ΠΊΠ°ΠΊ часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — ΠΎΠ½Π° считаСт свои ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Однако, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1/12 сСкунды. Для подсчСта ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ‡Π°ΡΡ‹ ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСдства. ИмСнно ΠΏΠΎ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΎΡ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° микросхСмы Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, находящСйся Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… BIOS. Π­Ρ‚ΠΎΡ‚ процСсс называСтся подсчСтом Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. 18,2 Ρ€Π°Π·Π° Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΊΠ°Π½Π°Π»Π° 0 обрабатываСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ (ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅Π½Π°Π΄ΠΎΠ»Π³ΠΎ останавливаСт процСссор ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ счСтчик Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² микросхСмы Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… рСгистров. Доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ рСгистров осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ€Ρ‚: НомСра ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΎΡ‚ 40h Π΄ΠΎ 42h ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°Π½Π°Π»Π°ΠΌ 0−2. ΠŸΠΎΡ€Ρ‚ связан с 8-Π±ΠΈΡ‚Π½Ρ‹ΠΌ рСгистром Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ посылаСт ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ для этого ΠΊΠ°Π½Π°Π»Π°. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² 16 разрядный рСгистр Π·Π°Π΄Π²ΠΈΠΆΠΊΠΈ (latch register), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ это число ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ копия пСрСмСщаСтся Π² 16 разрядный рСгистр счСтчик. Π’ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ счСтчика число ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΎΡ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Ρ… часов пропускаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π½Π°Π». Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого числа достигаСт нуля, Ρ‚ΠΎ ΠΊΠ°Π½Π°Π» Π²Ρ‹Π΄Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал ΠΈ Π·Π°Ρ‚Π΅ΠΌ копия числа ΠΈΠ· Π·Π°Π΄Π²ΠΈΠΆΠΊΠΈ пСрСдвигаСтся Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ счСтчика, послС Ρ‡Π΅Π³ΠΎ процСсс повторяСтся. Π§Π΅ΠΌ мСньшС число Π² Π·Π°Π΄Π²ΠΈΠΆΠΊΠ΅, Ρ‚Π΅ΠΌ быстрСС Ρ€ΠΈΡ‚ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, посылая Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ числа Π² Π·Π°Π΄Π²ΠΈΠΆΠΊΡƒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ частотой Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ².

ВсС Ρ‚Ρ€ΠΈ ΠΊΠ°Π½Π°Π»Π° всСгда Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹.

Канал 0 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ часами Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. Он ΡƒΡΡ‚анавливаСтся Π² BIOS Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ 18.2 Ρ€Π°Π·Π° Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (INT 8) ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ это ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠ΅ счСтчика. Выходная линия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для синхронизации Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дисковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π΄ΠΈΡΠΊΡƒ.

Канал 1 управляСт ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ памяти Π½Π° Π²ΡΠ΅Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, поэтому Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ.

Канал 2 связан с Π³Ρ€ΠΎΠΌΠΊΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ простыС ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π²ΡƒΠΊΠ°. Канал 2 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΎΡ‚ Π³Ρ€ΠΎΠΌΠΊΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Сля ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ для синхронизации (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл). Π’ΠΎΡ€ΠΎΡ‚Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ установкой младшСго Π±ΠΈΡ‚Π° ΠΏΠΎΡ€Ρ‚Π° с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 61h.

8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ рСгистр управляСт способом Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ чисСл Π² ΠΊΠ°Π½Π°Π». АдрСс ΠΏΠΎΡ€Ρ‚Π° для этого рСгистра Ρ€Π°Π²Π΅Π½ 43h.

Π‘ΠΈΡ‚Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

  • — 0 -запись числа Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΠ½Π°Ρ‡Π΅ BCD Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
  • 3−1- НомСр Ρ€Π΅ΠΆΠΈΠΌΠ° 1−5 (Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 3)
  • 5−4 — Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:
  • 00-ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π² Π·Π°Π΄Π²ΠΈΠΆΠΊΡƒ.
  • 01-Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ/ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚.
  • 10-Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ/ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ младший Π±Π°ΠΉΡ‚.
  • 11-ΠΈΡ‡Ρ‚Π°Ρ‚ΡŒ/ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ, Π·Π°Ρ‚Π΅ΠΌ младший Π±Π°ΠΉΡ‚.
  • 7−6 — НомСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°.
  • (Π€ΠΎΡ€ΠΌΠ°Ρ‚ BCD (Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСдставлСниС дСсятичного числа). ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ASCII ΠΏΡƒΡ‚Π΅ΠΌ сдвига ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ Π±Π°ΠΉΡ‚Π° Π² ΠΌΠ»Π°Π΄ΡˆΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† рСгистра ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ 48)

ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, для программирования микросхСмы 8253 Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 3 основныС шага:

ΠŸΠΎΡΠ»Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ рСгистр (43h) Π±Π°ΠΉΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΊΠ°Π½Π°Π», статус чтСния/записи, Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ прСдставлСния чисСл.

Для ΠΊΠ°Π½Π°Π»Π° 2 Π½Π°Π΄ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сигнал ΠΎΡ‚ Ρ‡Π°ΡΠΎΠ², установив 2 Π² 0 Π±ΠΈΡ‚ ΠΏΠΎΡ€Ρ‚Π° с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 61h (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΠΎΡ€ΠΎΡ‚Π° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ).

ΠŸΠΎΡ€Ρ‚Ρ‹ 40h-42h — счСтчики частоты (Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» соотвСтствСнно). ΠŸΠΎΡΠ»Π°Ρ‚ΡŒ Π² Π½ΠΈΡ… сначала младший Π±Π°ΠΉΡ‚, Π·Π°Ρ‚Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅Π»ΠΈΠ²Ρ‡Π°Ρ‚Ρ‹ΠΉ Π·Π²ΡƒΠΊ:

uses dos;

var r: registers;i:integer;

begin.

port[$ 61]: =$ff; {ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²ΠΎΡ€ΠΎΡ‚ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ}.

for i:=100 to 500 do.

begin.

r.ax:=i*10; {Π·Π°Π΄Π°Π½ΠΈΠ΅ частоты}.

port[$ 42]: =r.al;{запись младшСго Π±Π°ΠΉΡ‚Π° частоты}.

port[$ 42]: =r.ah;{запись ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±Π°ΠΉΡ‚Π° частоты}.

r.ah:=$ 86;r.dx:=5000;

intr ($ 15,r); {врСмСнная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°}.

end;

port[$ 61]: =0; {Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²ΠΎΡ€ΠΎΡ‚ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ}.

end.

Для получСния случайного числа (Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл), достаточно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠΎΡ€Ρ‚Π° счСтчика, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ° систСмных часов. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½Π΅ случайныС числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ считываСт ΠΈΠ· 40h ΠΏΠΎΡ€Ρ‚Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

begin.

repeat.

writeln (port[$ 40]);

readln.

until false;

end.

Установка ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Доступ ΠΊ ΡΡ‚ΠΈΠΌ рСгистрам ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, послав ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ рСгистра Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 70h, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 71h.

НомСра рСгистровЀункции.

  • 00hΠ‘Π΅ΠΊΡƒΠ½Π΄Ρ‹.
  • 01hБСкундная Ρ‚Ρ€Π΅Π²ΠΎΠ³Π°.
  • 02hΠœΠΈΠ½ΡƒΡ‚Ρ‹.
  • 03hΠœΠΈΠ½ΡƒΡ‚Π½Π°Ρ Ρ‚Ρ€Π΅Π²ΠΎΠ³Π°.
  • 04hЧасы.
  • 05hЧасовая Ρ‚Ρ€Π΅Π²ΠΎΠ³Π°.
  • 06hΠ”Π΅Π½ΡŒ Π½Π΅Π΄Π΅Π»ΠΈ.
  • 07hΠ”Π΅Π½ΡŒ мСсяца.
  • 08hΠœΠ΅ΡΡΡ†.
  • 09hΠ“ΠΎΠ΄.
  • 0AhРСгистр статуса А.
  • 0BhРСгистр статуса B.
  • 0ChРСгистр статуса C.
  • 0DhРСгистр статуса D.

БитыЗначСния 4 статусных рСгистров.

  • 6 — 1-Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ пСриодичСскоС ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅.
  • — 1-Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ
  • — 1-Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
  • — 1-часы ΠΎΡ‚ 24 Π΄ΠΎ 12.
  • 0- 1-Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток.

Часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания 4Аh.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT 1Ah.

Π’Ρ…ΠΎΠ΄: AH — 02h — Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ· Ρ‡Π°ΡΠΎΠ² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Ρ‹Ρ…ΠΎΠ΄:CH — Часы.

CL — ΠœΠΈΠ½ΡƒΡ‚Ρ‹.

DH — Π‘Π΅ΠΊΡƒΠ½Π΄Ρ‹.

Π’Ρ…ΠΎΠ΄:AH — 03h — Установка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… часов.

CH — Часы.

CL — ΠœΠΈΠ½ΡƒΡ‚Ρ‹.

DH — Π‘Π΅ΠΊΡƒΠ½Π΄Ρ‹.

Π’Ρ…ΠΎΠ΄:AH — 04h — Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹.

Π’Ρ‹Ρ…ΠΎΠ΄:CH — Π’Π΅ΠΊ (19−20).

CL — Π“ΠΎΠ΄ (с 1980).

DH — ΠœΠ΅ΡΡΡ†.

DL — Π”Π΅Π½ΡŒ мСсяца.

Π’Ρ…ΠΎΠ΄:AH — 05h — Установка Π΄Π°Ρ‚Ρ‹.

CH — Π’Π΅ΠΊ (19−20).

CL — Π“ΠΎΠ΄ (с 1980).

DH — ΠœΠ΅ΡΡΡ†.

DL — Π”Π΅Π½ΡŒ мСсяца.

Π’Ρ…ΠΎΠ΄:AH — 06h — Установка Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ.

CH — Часы.

CL — ΠœΠΈΠ½ΡƒΡ‚Ρ‹.

DH — Π‘Π΅ΠΊΡƒΠ½Π΄Ρ‹.

(Π’Π΅ΠΊΡ‚ΠΎΡ€ 4Ah Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ) Π’Ρ…ΠΎΠ΄: AH — 07h — Бброс Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ.

IBM AT ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT 15h, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя. Для этого помСститС 86h Π² AH, Π° Ρ‡ΠΈΡΠ»ΠΎ микросСкунд Π² CX: DX, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сигнал «Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ». Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания Int 4ah устанавливаСтся Π½Π° Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ «Clock». Π—Π°Ρ‚Π΅ΠΌ устанавливаСм «Π‘ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ». Для этого Π²Π½Π°Ρ‡Π°Π»Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ систСмноС врСмя ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ Π½Π΅ΠΌΡƒ 1 ΠΌΠΈΠ½ΡƒΡ‚Ρƒ.

uses dos, crt;

var r: registers;

procedure clock;interrupt;

var i: integer;

begin.

for i:=1 to 5 do.

begin.

textbackground (4);clrscr;delay (1000);writeln ('ΠŸΠΎΡ€Π°!!!');

textbackground (1);clrscr;delay (1000);writeln ('ΠŸΠΎΡ€Π°!!!').

end;

keep (0);

end;

begin.

setintvec ($ 4a, addr (clock));

r.ah:=02;intr ($ 1a, r);

r.cl:=r.cl+1;r.ah:=06;intr ($ 1a, r);

readln.

end.

{Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ систСмноС врСмя.}.

uses dos;

var r: registers;

begin.

r.ah:=02;intr ($ 1a, r);

writeln (r.ch,':', r. cl,':', r. dh);

readln.

end.

INT 15h ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя. Для этого достаточно ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ AH=86h, Π° Ρ‡ΠΈΡΠ»ΠΎ микросСкунд Π² CX, DX, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ DELAY.

uses dos;

procedure delay (x:integer);

var r: registers;

begin.

r.ah:=$ 86;r.cx:=x;intr ($ 15,r);

end;

begin.

delay (30);writeln ('ВрСмя Π²Ρ‹ΡˆΠ»ΠΎ').

end.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 7

Π’Π΅ΠΌΠ°: Часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‡Π°ΡΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

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

1) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ всС Π²ΠΈΠ΄Ρ‹ обслуТивания часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ BIOS.

Ѐункция Π΄ΠΎΠ»ΠΆΠ½Π°:

  • Π°) Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ показания часов;
  • Π±) ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ часы;
  • Π²) Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ;
  • Π³) ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ;
  • Π΄) ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ;
  • Π΅) ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ.
  • 2) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ врСмя Π³ΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈ этом часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • 3) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° 5 сСкунд. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ число ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² счСтчиков Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ добавляСтся ΠΊ ΡΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ счСтчика. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° постоянно считываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ с Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½Ρ‹ΠΌ. Когда достигаСтся равСнство, Ρ‚ΠΎ Ρ‚рСбуСмая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Π° ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • 4) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΡƒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 8

Π’Π΅ΠΌΠ°: БистСмный Ρ‚Π°ΠΉΠΌΠ΅Ρ€.ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π‘истСмным Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ.Π—Π°Π΄Π°Π½ΠΈΠ΅:

  • 1) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, формирования дСсятисСкундной Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.
  • 2) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Π½Π° Π³Ρ€ΠΎΠΌΠΊΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅Π»Π΅ Ρ‚ΠΎΠ½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ частоты ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • 3) ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» 2 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 3.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ диска Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° диска ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΠ“ΠœΠ” 765 Ρ„ΠΈΡ€ΠΌΡ‹ NEC управляСт ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ накопитСля Π½Π° Π΄ΠΈΡΠΊΠ΅Ρ‚Π°Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Один ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π΄ΠΎ 4 ΠΠ“ΠœΠ”. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, связанных с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ микросхСму Π½Π΅ ΠΏΡ€ΠΈΡ…одится.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ свободно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΄ΠΈΡΠΊΡƒ (ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ доступ), ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ диск Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‚. Π΅. Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π½Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ ΠΈ ΡΠ΅ΠΊΡ‚ΠΎΡ€Π°. КаТдая Π΄ΠΎΡ€ΠΎΠΆΠΊΠ° ΠΈ ΡΠ΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ свой Π½ΠΎΠΌΠ΅Ρ€. Π­Ρ‚ΠΎ позволяСт Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΉ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ, ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ сСктору. ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ сСкторов с ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΌΠΈ:

Π’ΠΈΠΏ сСктора0 — 128 Π±Π°ΠΉΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ сСктора.

  • 1 — 256 Π‘Π°ΠΉΡ‚
  • 2 — 512 Π±Π°ΠΉΡ‚
  • 3 — 1024 Π±Π°ΠΉΡ‚Π°.

Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ количСства адрСсуСмых Π΅Π΄ΠΈΠ½ΠΈΡ† памяти Π½Π° Π΄ΠΈΡΠΊΠ΅ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ принят кластСр — минимальная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ кластСр Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ нСсколько сСкторов. Для IBM PC Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ кластСров ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° FATΡ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Вип диска.

Π‘Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½Π° ΠΊΠ»Π°ΡΡ‚Π΅Ρ€

Π Π°Π·ΠΌΠ΅Ρ€ FAT (сСкторов).

160 ΠšΠ±Π°ΠΉΡ‚.

180 ΠšΠ±Π°ΠΉΡ‚.

320 ΠšΠ±Π°ΠΉΡ‚.

360 ΠšΠ±Π°ΠΉΡ‚.

1.2 ΠœΠ±Π°ΠΉΡ‚.

винчСстСр

10 ΠœΠ±Π°ΠΉΡ‚.

20 ΠœΠ±Π°ΠΉΡ‚.

Ѐункция 36h прСрывания INT 21h сообщаСт, сколько имССтся свободного пространства Π½Π° Π΄ΠΈΡΠΊΠ΅:

На Π²Ρ…ΠΎΠ΄Π΅: AH=36h.

DL — содСрТит Π½ΠΎΠΌΠ΅Ρ€ диска На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: BX — Число доступных кластСров.

AX — Число сСкторов Π² ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π΅.

CX — ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±Π°ΠΉΡ‚ Π² ΡΠ΅ΠΊΡ‚ΠΎΡ€Π΅.

DOS Π΄Π΅Π»ΠΈΡ‚ диск Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…. БистСмная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ подраздСляСтся Π½Π° 3 составныС части: Π±Π»ΠΎΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‚Π°Π±Π»ΠΈΡ†Π° размСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² (FAT) ΠΈ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Π‘Π»ΠΎΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ — всСго нСсколько сот Π±Π°ΠΉΡ‚, содСрТит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π½Π°Ρ‡Π°Π»ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ DOS (Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ 512 Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ сСктор).

Π’Π°Π±Π»ΠΈΡ†Π° размСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² (FAT) содСрТит схСму размСщСния кластСров. Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ структуру размСщСния Ρ„Π°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅. Π€Π°ΠΉΠ» записываСтся Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Π΅ кластСра диска (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан кусками Π² Ρ€Π°Π·Π½Ρ‹Π΅ области диска). Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ кластСров. Π­Ρ‚Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΈ Ρ…ранится Π² FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ВмСстС с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° хранится Π½ΠΎΠΌΠ΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ кластСра. ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° восстанавливаСтся ΠΈΠ· FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Π΅ кластСры Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ 000h. Π›ΡŽΠ±ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ кластСр занят. НомСра кластСров ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ кластСры ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ кластСру Π² FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ соотвСтствуСт ΠΎΠ΄Π½Π° запись. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π² FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ 12 Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяло Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 4 078 кластСров. Π’Π°ΠΊΠΈΠ΅ FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Floppy disk 3.5'. Π’ ΡΠ²ΡΠ·ΠΈ с ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ТСстких дисков большой Смкости для увСличСния количСства адрСсуСмых кластСров, приняты Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ FAT — Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π² FAT соотвСтствуСт 16 Π±ΠΈΡ‚ (FAT16) ΠΈ 32 Π±ΠΈΡ‚Π° (FAT32). ОбъСм записи Π² FAT16 позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 65 518 кластСров. НумСрация кластСров начинаСтся с 2. 1 — кластСр содСрТит ΠΊΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если запись Π² FAT = 0 ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ кластСр Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся. ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ кластСр обозначаСтся Π² FAT12 FFFh (для FAT16 — FFFFh). Π”Π΅Ρ„Π΅ΠΊΡ‚Π½Ρ‹Π΅ части диска, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ FF7h (ΠΈΠ»ΠΈ FFF7h). Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΎΡ‚ FF0h Π΄ΠΎ FFFh Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Ρ‚Π΅Ρ… потрСбностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

FAT начинаСтся с 1 логичСского сСктора. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΏΠΎ INT 25h с DX=1.

Ѐункция DOS 1Π‘h прСдставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ размСщСния Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Π² DL Π½ΠΎΠΌΠ΅Ρ€ накопитСля, Π³Π΄Π΅ 0 — Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, 1 — А ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ DX содСрТит число кластСров, Π° CX — число Π±Π°ΠΉΡ‚ Π² ΡΠ΅ΠΊΡ‚ΠΎΡ€Π΅. DS: BX ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±Π°ΠΉΡ‚, содСрТащий ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ FAT.

ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³: Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ записываСтся восьми Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°, Ρ‚Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, Π΄Π°Ρ‚Π° ΠΈ Π²Ρ€Π΅ΠΌΡ создания Ρ„Π°ΠΉΠ»Π°, Π° Ρ‚Π°ΠΊ — ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ кластСра ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ„Π°ΠΉΠ»Π°. КаТдая запись Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 32 Π±Π°ΠΉΡ‚Π°. Один сСктор ΡƒΠΌΠ΅Ρ‰Π°Π΅Ρ‚ записи для 16 Ρ„Π°ΠΉΠ»ΠΎΠ². 20 — ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ диск ΠΌΠΎΠ΄Π΅Π»ΠΈ AT Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 32 сСктора.

Как ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ 32 Π±Π°ΠΉΡ‚Π° для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ информация E5h, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пространство Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ этим Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. (ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° фактичСски Ρ„Π°ΠΉΠ» с Π΄ΠΈΡΠΊΠ° Π½Π΅ ΡƒΠ΄Π°Π»ΡΠ΅Ρ‚ся, Π° Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ записываСтся E5h, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ DOS, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» стСрт) Атрибуты Ρ„Π°ΠΉΠ»Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² 11-ΠΌ Π±Π°ΠΉΡ‚Π΅ элСмСнта ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ЗначСния ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ младшиС 6 Π±ΠΈΡ‚ΠΎΠ². ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ 0.

БитыЗначСния.

  • 0 = 1Π€Π°ΠΉΠ» объявлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния,
  • 1 = 1Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ»,
  • 2 = 1Π€Π°ΠΉΠ» являСтся систСмным,
  • 3 = 1 ΠœΠ΅Ρ‚ΠΊΠ° Ρ‚ΠΎΠΌΠ°,
  • 4 = 1Π€Π°ΠΉΠ» являСтся ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ,
  • 5 = 1Π€Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСй Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ BIOS.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΡΠΊΠ°ΠΌΠΈ BIOS прСдоставляСт ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ — INT 13h, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обСспСчиваСт ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ возмоТности ΠΏΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ дисков. Π”Π°Π²Π°ΠΉΡ‚Π΅ пСрСчислим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

00h — Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ диска (Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°).

  • 01h — ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ статус диска (ΠΊΠΎΠ΄ ошибки послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ)
  • 02h — Π§ΠΈΡ‚Π°Ρ‚ΡŒ сСктор.
  • 03h — ΠŸΠΈΡΠ°Ρ‚ΡŒ сСктор.
  • 04h — ВСрификация — ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сСкторов Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠΈ.
  • 05h — Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠΆΠΊΡƒ.
  • 06h — Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠΆΠΊΡƒ ТСсткого диска.
  • 07h — Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ТСсткий диск.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ >8 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ТСстких дисков.

  • 08hΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ТСсткого диска.
  • 09h — Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ диска.
  • 0AhΠ§ΠΈΡ‚Π°Ρ‚ΡŒ сСктор с ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ.
  • 0BhΠ—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСктор с ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ.
  • 0ChΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€.
  • 0EhΠ‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ диска.
  • 0Fh — Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ сСктора.
  • 10hΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ состояниС дисковода.
  • 11h — ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΡƒ дисковода ТСсткого диска.
  • 12hΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ТСсткого диска.

13h — ΠŸΡ€…

INT 25h ΠΈ INT 26h ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для чтСния ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… сСкторов. ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ 25h ΠΈ 26h схоТи с ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡΠΌΠΈ BIOS Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сСкторы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠ°ΠΊ BIOS Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ сСкторы ΠΏΠΎ ΠΈΡ… Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ (Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€, Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, сСктор). INT 25h ΠΈ INT 26h опрСдСляСт сСкторы ΠΏΠΎ ΠΈΡ… Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ.

Log_sect=(sector-1) + (head*sectors.per.treck) +.

+(cylinder*sector.per.treck*number.of.heads).

Число сСкторов указываСтся Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ… CX.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ сСкторDX.

АдрСс Π±ΡƒΡ„Π΅Ρ€Π° памятиDS: BX.

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ дисководаAL.

(0 -А, 1-Π’ ΠΈ Ρ‚. Π΄.).

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСрывания сообщаСтся Ρ„Π»Π°Π³ΠΎΠΌ пСрСноса CF=0 — Ok, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка — Π² AL ΠΈ AH содСрТатся ΠΊΠΎΠ΄Ρ‹ ошибок: AL.

  • 00h — Ошибка, связанная с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ Π·Π°ΠΏΠΈΡΠΈ.
  • 01h — НСизвСстноС устройство
  • 02h — Дисковод Π½Π΅ Π³ΠΎΡ‚ΠΎΠ².
  • 07h — Π€ΠΎΡ€ΠΌΠ°Ρ‚ диска Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ‚ся
  • 08h — Π‘Π΅ΠΊΡ‚ΠΎΡ€ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½
  • 0Аh — Ошибка записи
  • 0Π’hОшибка чтСния
  • 0Π‘h — ΠžΠ±Ρ‰Π°Ρ нСопрСдСлСнная ошибка
  • 0 °F — НСвСрная AH ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌ
  • 00h — НСвСрный адрСс ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°
  • 03h — Ошибка записи Π½Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ диск
  • 04h — НСвСрный сСктор
  • 08h — Π‘Π±ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прямого доступа ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ (DMA)
  • 10h — Ошибка ΠΏΠΎ Ρ‡Π΅Ρ‚ности
  • 20h — Ошибка ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°
  • 80h — Дисковод Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚

Ѐункция 3Bh INT21h устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. DS: DX Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π­Ρ‚Π° строка Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ символом ASCII 0.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ являСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ, Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 47h прСрывания INT21h. DS: SI Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 64 Π±Π°ΠΉΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ записан ΠΏΡƒΡ‚ΡŒ. Π’ DL указываСтся Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ. Если Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ, Π² AL Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ ΠΊΠΎΠ΄ ошибки с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 5.

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 56h прСрывания INT21h Для этого DS: DX Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π° ES: DI — Π½ΠΎΠ²ΠΎΠ΅ имя.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 9

Π’Π΅ΠΌΠ°: Знакомство с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Π΄ΠΈΡΠΊ.ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ сСктора диска, Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ со ΡΠ±ΠΎΠΉΠ½Ρ‹Ρ… дисков. Π—Π°Π΄Π°Π½ΠΈΠ΅:

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая позволяСт ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с Π΄ΠΈΡΠΊΠ° любой сСктор.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая провСряСт диск Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ сбойных сСкторов.

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° Π»ΡŽΠ±ΠΎΠΉ сСктор (ΠŸΠ΅Ρ€Π΅Π΄ записью Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ Π΅ΡΠ»ΠΈ Π½Π°Π΄ΠΎ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСктора). Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, запись Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ сСктор, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ структуру диска. Записанная информация Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ Π·Π°ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Π½Π° ΠΎΡ‚ Π΅Π΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ дальнСйшСм использовании диска (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈ Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ).

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ форматирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ сСктора.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ВсС дСйствия Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ„Π»ΠΎΠΏΠΏΠΈ дисками!!!

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 10

Π’Π΅ΠΌΠ°: Знакомство с FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ, Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ записью ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ диска. ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Π—Π°Π΄Π°Π½ΠΈΠ΅: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСпосрСдствСнноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ сСкторов, вывСсти Π½Π° ΡΠΊΡ€Π°Π½ содСрТимоС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

  • 1. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ диска. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство сбойных кластСров ΠΈ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Π½ΠΈΠΌ количСство Π±Π°ΠΉΡ‚ Π² ΡΠ±ΠΎΠΉΠ½Ρ‹Ρ… сСкторах. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство пустых сСкторов. Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство свободного мСста Π½Π° Π΄ΠΈΡΠΊΠ΅. Π‘Π²Π΅Ρ€ΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдоставляСт опСрационная систСма.
  • 2. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π΄ΠΈΡΠΊ нСбольшой тСкстовый Ρ„Π°ΠΉΠ». Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ чтСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСкторов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ FAT Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ».
  • 3. Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π½Π΅Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ копирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Бмысл Π΅Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄ΠΈΡΠΊ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСктор записываСтся ΠΏΠ°Ρ€ΠΎΠ»ΡŒ доступа ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ находится пустой сСктор). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡ‚ΡŒ этот сСктор ΠΎΡ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ° со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π‘Π΅ΠΊΡ‚ΠΎΡ€ Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚аСтся свободным), Π΄Π°Π½Π½Ρ‹ΠΉ сСктор Π² FAT Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ BAD-сСктор (ΠŸΠ»ΠΎΡ…ΠΎΠΉ сСктор). ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ скопирована Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠ»ΠΎΡ…ΠΎΠΉ сСктор останСтся Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ доступа.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ВсС дСйствия Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ„Π»ΠΎΠΏΠΏΠΈ дисками!!! ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ BIOS прСдоставляСт ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ INT 17h.

На Π²Ρ…ΠΎΠ΄Π΅: AH=00 — ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа.

AL — ASCII — ΠΊΠΎΠ΄ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

DX — Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°: 0, 1 ΠΈΠ»ΠΈ 2.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AX — слово состояния.

Π‘ΠΈΡ‚Ρ‹ слова состояния:

  • 0 — Π’Π°ΠΉΠΌ Π°ΡƒΡ‚, слишком большая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π΅Π½.
  • 1−2 — Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся
  • 3 — ошибка Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π°
  • 4 — 1 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹
  • — 0 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π² ΡΠΎΡΡ‚оянии Off Line
  • 5 — ΠšΠΎΠ½Π΅Ρ† Π±ΡƒΠΌΠ°Π³ΠΈ.
  • 6 — ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅
  • 7 — 1 — ΠŸΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ символ, 0 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ занят

Π’Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 0 прСрывания INT17h ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ слова состояния ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ Π±Π°ΠΉΡ‚Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π±Π΅Π· ошибки. НаиболСС часто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚ пСрСвСсти ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π² ΡΠΎΡΡ‚ояниС OnLine, Π»ΠΈΠ±ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΡƒΠΌΠ°Π³Ρƒ, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€. Π’ ΡΡ‚ΠΎΠΌ случаС цСлСсообразно Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΎ Π½Π΅ΠΎΠ±Ρ…одимости выполнСния этих дСйствий ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ символа. Если ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ нСисправСн, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ тСкста.

Π‘Π»ΠΎΠ²ΠΎ состояния ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 2 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

На Π²Ρ…ΠΎΠ΄Π΅: AH — 02.

DX — Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°: 0, 1 ΠΈΠ»ΠΈ 2.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AH — слово состояния ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

Π”Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ для опрСдСлСния готовности ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

БрСдства MS DOS для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ.

Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ символа Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰Π΅ΠΌ устройствС LPT1 (ΠΎΠ½ ΠΆΠ΅ PRN) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 05h прСрывания MS DOS INT21h.

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

DL — ASCII — ΠΊΠΎΠ΄ символа для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: AH — слово состояния ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

Π‘ΠΎΠ»Π΅Π΅ интСрСсныС возмоТности ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ спулСра ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ PRINT.COM. Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ссли Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° PRINT, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½Π΅ΠΉ, управляя процСссом ΠΏΠ΅Ρ‡Π°ΠΈΡ‚. Для связи со ΡΠΏΡƒΠ»Π΅Ρ€ΠΎΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ прСрывания INT21h.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 11

Π’Π΅ΠΌΠ°: Знакомство с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°. ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ.

Задания

Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ сообщСния: «Π’ас привСтствуСт IBM PC». ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ сообщСний Π² ΡΠ»ΡƒΡ‡Π°Π΅ Π½Π΅ Π³ΠΎΡ‚овности ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°, отсутствия Π±ΡƒΠΌΠ°Π³ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… сбоСв.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ систСмных рСсурсов.

И Π² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ вашим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ нСсовмСстимости Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π­Π’Πœ, ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса. ΠžΡ‡Π΅Π½ΡŒ часто ΠΏΡ€ΠΈ составлСнии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.

Для опрСдСлСния Ρ‚ΠΈΠΏΠ° Π­Π’Πœ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ с ΠΊΠΎΠ½Ρ†Π° Π±Π°ΠΉΡ‚Π΅ (FFFFЕН) Π² ROM-BIOS содСрТится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ информация:

FFН — Π Π‘,.

FЕН — Π₯Π’,.

FDН — Π Π‘jp-ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ,.

FБН — АВ.

Бписок оборудования ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прСрывания 11Н ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° ΠΠ₯ ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ 0:0410 ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² слово ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. (Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΌ справочникС) Π‘ΠΈΡ‚Ρ‹ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π‘ΠΏΠΈΡΠΎΠΊ оборудования.

  • 0 0НСт дисководов
  • 128 087 сопроцСссор
  • 2−3 AX and $ 0eΠ Π°Π·ΠΌΠ΅Ρ€ RAM Π½Π° ΠΌΠ°Ρ‚Сринской ΠΏΠ»Π°Ρ‚Π΅

$ 0116 ΠšΠ±Π°ΠΉΡ‚.

$ 0432 ΠšΠ±Π°ΠΉΡ‚.

$ 0Π΅64 ΠšΠ±Π°ΠΉΡ‚ (ΠΈ Π±ΠΎΠ»Π΅Π΅).

4−5 AX and $ 030Активный Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌ

$ 1 040 символов, Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ.

$ 2 080 символов, Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ.

$ 040TTL монохромная ΠΏΠ»Π°Ρ‚Π°.

6−7 AX and $ 0Π‘0ВсСго дисководов

$ 001 — дисковод.

$ 0402 — дисковод.

$ 0803 — дисковод.

$ 0Π‘04 — дисковод.

  • 8AX and $ 0100DMA присутствуСт
  • 9−11 AX and $ 0Π΅00RS232 ΠΏΠΎΡ€Ρ‚Ρ‹

$ 00НСт.

$ 2 001 — ΠΏΠΎΡ€Ρ‚.

$ 4 002 — ΠΏΠΎΡ€Ρ‚Π°.

.. .

$ 0Π΅007 — ΠΏΠΎΡ€Ρ‚ΠΎΠ².

  • 12AX and $ 1 000 Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ присутствуСт
  • 13 ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ присутствуСт
  • 14−15AX and $Π‘000 ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ²

$ 00НСт.

$ 40 001 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€

$ 80 002 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

$Π‘0003 — ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° НомСр вСрсии, Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ Π²Ρ€Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ INT 21 прСрывания Π”ΠžΠ‘.

30h Ѐункция 21 прСрывания Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ Π”ΠžΠ‘, 2Аh — тСкущая систСмная Π΄Π°Ρ‚Π°, 2Π‘h — Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΡ‰ΠΈΡ‚Π΅ Π² ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΌ справочникС…

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для опрСдСлСния ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ систСмной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

INT 21h ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ DOS прСдоставляСт ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ возмоТности ΠΏΠΎ Π²ΡΠ΅ΠΌ Π²ΠΈΠ΄Π°ΠΌ опрСдСлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ вСрсии MS DOS.

Π’Ρ…ΠΎΠ΄: Ah — 30h — функция опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π”ΠžΠ‘.

Π’Ρ‹Ρ…ΠΎΠ΄: AL — Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ вСрсии.

Ah — Младший Π½ΠΎΠΌΠ΅Ρ€ вСрсии.

Π”Π°Π²Π°ΠΉΡ‚Π΅ для наглядности составим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ этой Π·Π°Π΄Π°Ρ‡ΠΈ:

Uses dos;

Var r: registers;

Begin.

r.ah:=$ 30;

intr ($ 21,r);

writeln (`НомСр вСрсии Ms Dos `, r. AL, `.', t. Ah);

readln.

End.

2. Для опрСдСлСния систСмной Π΄Π°Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 2Аh прСрывания INT 21h

Π’Ρ…ΠΎΠ΄: Ah — 2Ah — функция опрСдСляСт ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ.

Π’Ρ‹Ρ…ΠΎΠ΄: AL — Π”Π΅Π½ΡŒ Π½Π΅Π΄Π΅Π»ΠΈ (0-Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, 1-понСдСльник …).

Cx — Π“ΠΎΠ΄ (1980 — 2099Π³Π³.).

Dx — ΠœΠ΅ΡΡΡ† (1 Π΄ΠΎ 12).

DL — Π”Π΅Π½ΡŒ (1 Π΄ΠΎ 31).

Доступ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ΅ интСрфСйса с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ 8255.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° интСрфСйса с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ Intel 8255 — Π»ΡƒΡ‡ΡˆΠ΅Π΅ мСсто, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡΡ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. Π­Ρ‚Π° микросхСма ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Она сообщаСт ΠΎΠ± ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅. Она ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Она управляСт рядом ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ микросхСму Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 8253. Из ΠΌΠ°ΡˆΠΈΠ½ сСмСйства IBM PC Ρ‚ΠΎΠ»ΡŒΠΊΠΎ AT Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ микросхСму 8255; ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ вмСстС с Ρ‡Π°ΡΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ микросхСмС с Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ. Однако AT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ Π°Π΄Ρ€Π΅ΡΠ° ΠΏΠΎΡ€Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΈ 8255, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ микросхСмой Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° 8255 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Ρ… рСгистра, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΎΡ‚ ΠΏΠΎΡ€Ρ‚Π° A Π΄ΠΎ ΠΏΠΎΡ€Ρ‚Π° C. АдрСса этих ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΎΡ‚ 60H Π΄ΠΎ 62H соотвСтствСнно. ВсС Ρ‚Ρ€ΠΈ ΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠΎΡ€Ρ‚ B. Для PC, установка Π±ΠΈΡ‚Π° 7 ΠΏΠΎΡ€Ρ‚Π° B Π² 1 измСняСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² ΠΏΠΎΡ€Ρ‚Π΅ A. Аналогично для PC установка Π±ΠΈΡ‚Π° 2 опрСдСляСт содСрТимоС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΌΠ»Π°Π΄ΡˆΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² ΠΏΠΎΡ€Ρ‚Π° C, Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΡ‚Π° 3 Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ для XT. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ этих рСгистров ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠΎΡ€Ρ‚ A (60H) ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΡ€Ρ‚Π΅ B Π±ΠΈΡ‚ 7=0.

Π±ΠΈΡ‚Ρ‹ 0−7 PC, XT, PCjr, AT: 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ скан-ΠΊΠΎΠ΄Ρ‹ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΡ€Ρ‚Π΅ B Π±ΠΈΡ‚ 7=1 для PC.

Π±ΠΈΡ‚ 0 PC: 0 = Π½Π΅Ρ‚ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° Π΄ΠΈΡΠΊΠ΅Ρ‚Π°Ρ….

  • 1 PC: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся
  • 2−3 PC: число Π±Π°Π½ΠΊΠΎΠ² памяти Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅
  • 4−5 PC: Ρ‚ΠΈΠΏ дисплСя (11 = ΠΌΠΎΠ½ΠΎΡ…Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ,
  • 10 = Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ 80*25, 01 = Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ 40*25)
  • 6−7 PC: число Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° Π΄ΠΈΡΠΊΠ΅Ρ‚Π°Ρ…

ΠŸΠΎΡ€Ρ‚ B (61H) Π±ΠΈΡ‚ 0 PC, XT, PCjr: управляСт ΠΊΠ°Π½Π°Π»ΠΎΠΌ 2 Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 8253.

  • 1 PC, XT, PCjr: Π²Ρ‹Π²ΠΎΠ΄ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ
  • 2 PC: Π²Ρ‹Π±ΠΎΡ€ содСрТимого ΠΏΠΎΡ€Ρ‚Π° C PCjr: 1 = ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, 0 = графичСский
  • 3 PC, PCjr: 1 = кассСтный ΠΌΠΎΡ‚ΠΎΡ€ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ XT: Π²Ρ‹Π±ΠΎΡ€ содСрТимого ΠΏΠΎΡ€Ρ‚Π° C
  • 4 PC, XT: 0 = Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠžΠ—Π£ PCjr: 1 = Π·Π°ΠΏΡ€Π΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° ΠΈ ΠΌΠΎΡ‚ΠΎΡ€Π° кассСты
  • 5 PC, XT: 0 = Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ошибок Ρ‰Π΅Π»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
  • 6 PC, XT: 1 = Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ часов ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹
  • 5−6 PCjr: Π²Ρ‹Π±ΠΎΡ€ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° (00 = 8253, 01 = кассСта, 10 = Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄, 11 = микросхСма 76 496)
  • 7 PC: Π²Ρ‹Π±ΠΎΡ€ содСрТимого ΠΏΠΎΡ€Ρ‚Π° A PC, XT: ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

ΠŸΠΎΡ€Ρ‚ C (62H) ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΡ€Ρ‚Π΅ B Π±ΠΈΡ‚ 2=1 для PC ΠΈΠ»ΠΈ Π±ΠΈΡ‚ 3=1 для.

XT Π±ΠΈΡ‚Ρ‹ 0−3 PC: ниТняя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ 2 ΠΊΠΎΠ½Ρ„ΠΈ;

Π³ΡƒΡ€Π°Ρ†ΠΈΠΈ (ΠžΠ—Π£ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ).

  • 0 PCjr: 1 = Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ потСрян
  • 1 XT: 1 = Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ‚. сопроцСссор PCjr: Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Π°

ΠΌΠΎΠ΄Π΅ΠΌΠ°.

  • 2 PCjr: Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Π° ΠΠ“ΠœΠ”
  • 2−3 XT: число Π±Π°Π½ΠΊΠΎΠ² памяти Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅
  • 3 PCjr: 0 = 128K памяти
  • 4 PC, PCjr: Π²Π²ΠΎΠ΄ с ΠΊΠ°ΡΡΠ΅Ρ‚Ρ‹ XT: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся
  • 5 PC, XT, PCjr: Π²Ρ‹Ρ…ΠΎΠ΄ ΠΊΠ°Π½Π°Π»Π° 2 8253
  • 6 PC, XT: 1 = ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ошибок Ρ‰Π΅Π»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

PCjr: 1 = Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

7 PC, XT: 1 = ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ошибок чСтности PCjr: 0 =.

кабСль ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ подсоСдинСн ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΡ€Ρ‚Π΅ B Π±ΠΈΡ‚ 2=0 для PC ΠΈΠ»ΠΈ Π±ΠΈΡ‚ 3=0 для XT Π±ΠΈΡ‚Ρ‹.

0−3 PC: вСрхняя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ 2 ΠΊΠΎΠ½Ρ„ΠΈ;

Π³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся).

  • 0−1 XT: Ρ‚ΠΈΠΏ дисплСя (11 = ΠΌΠΎΠ½ΠΎΡ…Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ,
  • 10 = Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ 80*25, 01 = Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ 40*25)
  • 2−3 XT: число Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΠ“ΠœΠ” (00 = 1 ΠΈ Ρ‚. Π΄.)
  • 4−7 PC, XT: Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ 0 Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² рСгистра соотвСтствуСт установкС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ «off» .

AT Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² ΠΌΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ΅ MC146818 Ρ„ΠΈΡ€ΠΌΡ‹ Motorola, вмСстС с Ρ‡Π°ΡΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ микросхСмы 8255, хотя для управлСния микросхСмой Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΡΠ°ΠΌΡ‹Π΅ адрСса ΠΏΠΎΡ€Ρ‚ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ 64 рСгистра, ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ 00 Π΄ΠΎ 3FH. Для чтСния рСгистра Π½ΡƒΠΆΠ½ΠΎ сначала ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€ Π² ΠΏΠΎΡ€Ρ‚ с Π°Π΄Ρ€Π΅ΡΠΎΠΌ 70H, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ 71H. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… страницах. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ здСсь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ сводку:

НомСр рСгистра ИспользованиС.

  • 10H Ρ‚ΠΈΠΏ накопитСля ΠΠ“ΠœΠ”
  • 12H Ρ‚ΠΈΠΏ накопитСля фиксированного диска
  • 14H пСрифСрия
  • 15H ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ (младший Π±Π°ΠΉΡ‚)
  • 16H ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ (ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚)
  • 17H общая ΠΏΠ°ΠΌΡΡ‚ΡŒ (младший Π±Π°ΠΉΡ‚)
  • 18H общая ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚)
  • 30H ΠΏΠ°ΠΌΡΡ‚ΡŒ свСрх 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° (младший Π±Π°ΠΉΡ‚)
  • 31H ΠΏΠ°ΠΌΡΡ‚ΡŒ свСрх 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° (ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚)

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС N 12

Π’Π΅ΠΌΠ°: РСвизия систСмных рСсурсов. ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ различия. ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: Класс ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС: Π―Π·Ρ‹ΠΊ программирования Pascal, Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ справочник Help.

Задания.

  • 1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ Π­Π’Πœ.
  • 2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, установлСнной Π½Π° Π²Π°ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
  • 3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ систСмноС врСмя ΠΈ Π΄Π°Ρ‚Ρƒ, установлСнныС Π½Π° Π²Π°ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
  • 4. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, установлСнноС Π½Π° Π²Π°ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅:
    • Π°) ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ установлСнных дисководов,
    • Π±) НаличиС матСматичСского сопроцСссора,
    • Π²) НаличиС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°,
    • с) ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ установлСнных ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ²,
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ