Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ВстраиваСмыС систСмы. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСмСйства 68HC12/HCS12 с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ языка Π‘Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 45

Автор Π‘Ρ‚ΠΈΠ²Π΅Π½ Π‘Π°Ρ€Ρ€Π΅Ρ‚Ρ‚

4.11. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания

На рис. 4.12 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий МК сСмСйства 68HC12/HCS12 ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запроса Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, начиная с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° поступлСния запроса ΠΈ заканчивая Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания ΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡŽ исполнСния основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· Π½Π΅Π΅ Π’Π°ΠΌ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ дСйствия ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами МК, Ρ‚.Π΅. автоматичСски, Π° ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Ρ‚.Π΅. Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ написаниСм ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания, β€” созданиС Π² памяти Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Для этого Π² ячСйки памяти с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² тСхничСском описании МК адрСсами Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ адрСса Π½Π°Ρ‡Π°Π»Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСрывания. ΠŸΡ€ΠΈ написании исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ адрСса ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСрывания ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… значСниях, Ρ‚.Π΅. Π² числСнном Π²ΠΈΠ΄Π΅. Однако это Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ исправлСния ошибок эти адрСса Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² прСрывания ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСрывания. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ассСмблСрС для этой Ρ†Π΅Π»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ псСвдокоманда АссСмблСра Β«DWΒ».

Π’Ρ‚ΠΎΡ€ΠΎΠΉ шаг ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с прСрываниями β€” инициализация Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния указатСля стСка SP. ΠžΠ±Π»Π°ΡΡ‚ΡŒ стСка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора Π²ΠΎ врСмя исполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания. Π’ МК сСмСйства 68HC12/HCS12 ΠΏΡ€ΠΈ пСрСсылкС Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка сначала ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ содСрТимоС ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ рСгистра загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΌΡƒ адрСсу ΠΈΠ· SP. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля стСка Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΌΡƒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ адрСсу послСднСй ячСйки Π² области стСка. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π‘ΠΈ программист обязан ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ адрСсов области стСка Π² опциях конфигурирования компилятора. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ адрСс этого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка ΠΏΡ€ΠΈ исполнСнии Ρ„Π°ΠΉΠ»Π° Start.с.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ шаг β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ прСрывания ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ источникам запросов. Π­Ρ‚ΠΎ дСйствиС выполняСтся Π² Π΄Π²Π° этапа. Π‘Π½Π°Ρ‡Π°Π»Π° слСдуСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ источника Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ рСгистрС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НапримСр, для прСрывания ΠΎΡ‚ АЦП, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π±ΠΈΡ‚ IRQEN Π² рСгистрС INTCR. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ маску прСрывания I Π² рСгистрС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² CCR. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ассСмблСрС слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«CLIΒ».

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

Рис. 4.21. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий МК ΠΏΡ€ΠΈ обслуТивании запроса Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅


НаиболСС вСроятно, Ρ‡Ρ‚ΠΎ запрос поступит Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор ΡƒΠΆΠ΅ Π½Π°Ρ‡Π°Π», Π½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» исполнСниС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв исполнСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ, Π² счСтчикС PC Π±ΡƒΠ΄Π΅Ρ‚ сформирован адрСс ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ МК Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ…, МК сСмСйства 68HC12/HCS12 ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ рядом спСцифичСских ΠΊΠΎΠΌΠ°Π½Π΄, врСмя исполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ врСмя исполнСния Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ассСмблСра. К Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ относятся инструкции Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ REV, REVW, WAV, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ для своСго выполнСния нСсколько сот Ρ†ΠΈΠΊΠ»ΠΎΠ² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ запроса, исполнСниС этих ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½ΠΎ с сохранСниСм ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ исполнСния инструкции ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ послС выполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор МК сСмСйства 68HC12/HCS12 оснащСн двухступСнчатым ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя исполнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рСгистры ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ хранят Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΈΠ· памяти ΠΊΠΎΠ΄Ρ‹ Π΄Π²ΡƒΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. Когда запрос Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ поступаСт, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ порядок исполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ хранящиСся Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠ΄Ρ‹ становятся бСсполСзными, ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ автоматичСски очищаСтся. ПослС этого Π² счСтчикС ΠΊΠΎΠΌΠ°Π½Π΄ автоматичСски восстанавливаСтся адрСс ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½Π΅ исполнСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ МК Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ послС прСрывания. Π”Π°Π»Π΅Π΅ содСрТимоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика PC ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора сохраняСтся Π² стСкС. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² стСк ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ (рис. 4.22): ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ PCH, младший Π±Π°ΠΉΡ‚ счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ PCL, ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ YH ΠΈ младший YL Π±Π°ΠΉΡ‚Ρ‹ индСксного рСгистра Y, ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ XH ΠΈ младший XL Π±Π°ΠΉΡ‚Ρ‹ индСксного рСгистра X, аккумулятор B, аккумулятор A, рСгистр ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² CCR. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ это сохранСниС выполняСтся ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ автоматичСски, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания для этого Π½Π΅ трСбуСтся.

АдрСс ячСйки памяти Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ячСйки стСка Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка – 2 Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ адрСса Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°; младший Π±Π°ΠΉΡ‚ адрСса Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка – 4 Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ рСгистра Y; младший Π±Π°ΠΉΡ‚ рСгистра Y Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка – 6 Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ рСгистра X; младший Π±Π°ΠΉΡ‚ рСгистра X Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка – 8 Аккумулятор B; Аккумулятор A Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка – 9 РСгистр состояния CCR 

Рис. 4.22. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π° Π² стСк


ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ рСгистры Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Π² стСкС, МК автоматичСски устанавливаСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ маску прСрывания I Π² 1, запрСщая Ρ‚Π΅ΠΌ самым Π΄Ρ€ΡƒΠ³ΠΈΠ΅ маскируСмыС прСрывания. Π‘ΠΈΡ‚ маски внСшнСго прСрывания ΠΏΠΎ Π²Ρ…ΠΎΠ΄Ρƒ   Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСтся Π² 1.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСрывания Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Π²Π°Π½Π° Π΄Π°ΠΆΠ΅ нСмаскируСмым внСшним ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ. Π”Π°Π»Π΅Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ счСтчик Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора автоматичСски загруТаСтся адрСс Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания. Π­Ρ‚ΠΎΡ‚ адрСс извлСкаСтся ΠΈΠ· ячССк памяти Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² прСрывания. Π’Ρ‹Π±ΠΎΡ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ адрСса Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² осущСствляСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π­Ρ‚ΠΎΡ‚ адрСс соотвСтствуСт источнику ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ прСрывания.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ исполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания, МК восстанавливаСт рСгистры Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈΠ· стСка, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ счСтчик PC, сбрасываСт Π±ΠΈΡ‚Ρ‹ масок I ΠΈ X Π² рСгистрС CCR. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² МК восстанавливаСтся состояниС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π΄ΠΎ исполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания. И процСсс выполнСния Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ возобновляСтся. Π’ исходном тСкстС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания для Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ записываСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· прСрывания RTI. ИмСнно эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ дСйствия ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ рСгистров ΠΈΠ· стСка ΠΈ сбросу масок прСрывания. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ рСгистров Π² стСк ΠΈ установки масок I ΠΈ X Π½Π΅ трСбуСтся ΠΊΠΎΠΌΠ°Π½Π΄. А для выполнСния ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… дСйствий программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ RTI. ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСрывания оформляСтся ΠΊΠ°ΠΊ функция. ΠŸΡ€ΠΈ этом Ссли объявлСно, Ρ‡Ρ‚ΠΎ функция являСтся ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ прСрывания, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ассСмблСра RTI подставляСтся Π² исходный тСкст автоматичСски. ΠœΡ‹ рассмотрим процСсс составлСния исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с прСрываниями Π½Π° Π‘ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅.

Вопросы для самопровСрки

1. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ спискС пСрСчислСны дСйствия МК Π² процСссС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами МК, Π° ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ написания ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

β€’ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ (программист);

β€’ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ указатСля стСка (программист);

β€’ Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π² систСмС (программист);

β€’ Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ выполнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (МК);

β€’ ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ рСгистров ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ (МК);

β€’ Π’ычислСниС адрСса Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (МК);

β€’ Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ состояния рСгистров Π² стСкС (МК);

β€’ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π² 1 Π±ΠΈΡ‚Π° I (МК);

β€’ Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· памяти Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ (МК);

β€’ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° управлСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСрывания (МК);