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

РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ элСктронно-Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ машиной ΠΈ внСшним устройством с ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСмах Π½Π° основС элСктронно-Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин сСмСйства IBM (Π² срСдС Borland Pascal)

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

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ рСгистров Π¦ΠŸ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Interrupt: Ѐоновая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° оформляСтся ΠΊΠ°ΠΊ главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, опСративная — ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ элСктронно-Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ машиной ΠΈ внСшним устройством с ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСмах Π½Π° основС элСктронно-Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин сСмСйства IBM (Π² срСдС Borland Pascal) (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Ѐоновая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° оформляСтся ΠΊΠ°ΠΊ главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, опСративная — ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для совмСстного использования Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄ΠΎ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Установка Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ обслуТивания Π’Π£ (Ρ‚.Π΅. запись Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ адрСсу) выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Turbo Pascal ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Ρ DOS (WINDOS):

Procedure SetlntVec (IntNo: byte; IntProcAddr: Pointer);

Π³Π΄Π΅ IntNo — Π½ΠΎΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° прСрывания = ΠΠ’ΠŸ = 4 * IntNo; IntProcAddr — Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания, содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания; Ρ‚ΠΈΠΏ Pointer — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ — пСрСмСнная, которая Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ своСго значСния содСрТит адрСс Π±Π°ΠΉΡ‚Π° Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, ΠΈ ΡΡ‚ΠΎΡ‚ адрСс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ адрСсом ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… слов, Ρ‚Ρ€Π°ΠΊΡ‚ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΊ сСгмСнт ΠΈ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ установкС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ старый Π²Π΅ΠΊΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ утСрян, Ссли Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ старого Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ выполняСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля DOS (WINDOS):

Procedure GetIntVec (IntNo: byte; Var О Id IntProcAddr: pointer);

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ рСгистров Π¦ΠŸ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ обслуТивания ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Interrupt:

Procedure IntXXX; Intemipt;

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Intemipt ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… сохранСниС Π² ΡΡ‚Π΅ΠΊΠ΅ всСх рСгистров Π¦ΠŸ ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ IntXXX ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… ΠΈΠ· ΡΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΈ Π΅Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ. ЗаканчиваСтся такая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ IRET — Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ, Π° Π½Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ RET, Ρ‡Ρ‚ΠΎ позволяСт Π¦ΠŸ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС Π‘Ρ‡Πš ΠΈ Π Π‘П.

Установку/сброс Ρ„Π»Π°Π³Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ Flags Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ вставки ассСмблСрного тСкста Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

asm STI end; {IF=1, прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹.} asm CLI end; {IF=0, прСрывания Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹.}.

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