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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ схСмотСхники. Π’ΠΎΠΌ 3 [Изд.4-Π΅]Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 14

Автор ΠŸΠ°ΡƒΠ»ΡŒ Π₯ΠΎΡ€ΠΎΠ²ΠΈΡ†

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сбрасываСт Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал ΠšΠžΠΠ•Π¦, считываСт состояниС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ значСния (устанавливая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ Ρ‚ΠΈΠΏΠ° auto__loop ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ dwell__per__bin ΠΈ num__sweeps). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ decode__tbl (ΠΈ косвСнной адрСсации с индСксациСй) для получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… полоТСниям ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ массивы DATA ΠΈ NORM, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСгистры (адрСсов ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ сбрасываСт Ρ„Π»Π°Π³ останова. ПослСдний шаг Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ содСрТимого Π²Π΅ΠΊΡ‚ΠΎΡ€Π° INT5 (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ idle__int Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ) Π½Π° адрСс wait__trig ΠΈΠ»ΠΈ sweep__start Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ установлСн Π½Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ: внСшнСго запуска ΠΈΠ»ΠΈ автозапуска.

НаконСц, главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Β«Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉΒ» Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π° дСйствия: Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ update (обновлСния массива DISPLAY Π² соотвСтствии с содСрТимым массива DATA) ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„Π»Π°Π³Π° останова stop__flag. На Ρ„ΠΎΠ½Π΅ этого ΡƒΠ½Ρ‹Π»ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° прСрывания Ρ‚Π°ΠΉΠΊΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ всС Ρ‚ΠΎ, Ρ€Π°Π΄ΠΈ Ρ‡Π΅Π³ΠΎ Π±Ρ‹Π» сдСлан наш ΠΏΡ€ΠΈΠ±ΠΎΡ€.

Главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°: ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Π·ΡΡ‚ΡŒΡΡ Π·Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ нашСго комплСкса - ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, рассмотрим Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ (рис. 11.20).



Рис. 11.20. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ схСмы ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.


ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° clear__arrays заполняСт нулями ΠΎΠ±Π° массива DATA ΠΈ NORM; массив DISPLAY ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Π½Π΅Ρ‚ нСобходимости, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° update сразу ΠΆΠ΅ скопируСт Π½ΡƒΠ»ΠΈ ΠΈΠ· DATA Π² DISPLAY. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обновляСт Π·Π° Ρ€Π°Π· ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· массива DISPLAY, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для этого Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ изобраТСния с ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· массивов DATA ΠΈ NORM; ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ обновляСт состояниС ΠΏΠΎΡ€Ρ‚Π° Π­Π›Π”, копируя Π±Π°ΠΉΡ‚ памяти led__store.

Рассмотрим сначала ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ clear__arrays ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 11.3. РСгистры А0 ΠΈ А1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π΄Π²ΡƒΡ… массивов, ΠΈ всС 32 разряда D0 Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ D1 инициализируСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, Ρ€Π°Π²Π½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ массива минус ΠΎΠ΄ΠΈΠ½; сСйчас станСт понятно, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ. Π’ Ρ†ΠΈΠΊΠ»Π΅ слово ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово Π½ΡƒΠ»Π΅ΠΉ пСрСсылаСтся Π² массивы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ косвСнной адрСсации (с постинкрСмСнтом); вспомнитС, Ρ‡Ρ‚ΠΎ постинкрСмСнтная адрСсация β€” ΡˆΡ‚ΡƒΠΊΠ° интСллигСнтная, ΠΎΠ½Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ адрСсный рСгистр ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прибавляя Π² нашСм случаС 2 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со словом ΠΈ 4 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ словом. Команда DBF заслуТиваСт особого объяснСния. Она прСдставляСт собой ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ DBcc, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ условия Π΅Π΅ = «лоТь» (False). Π›ΡŽΠ±Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° (Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅) DBcc Dn, ΠΌΠ΅Ρ‚ΠΊΠ° фактичСски провСряСт Π΄Π²Π° условия.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ условия Π΅Π΅ (Ρ‚. Π΅. состояниС Ρ„Π»Π°Π³ΠΎΠ², установлСнноС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ), ΠΏΡ€ΠΈ этом, Ссли Π΅Π΅ = «истина», Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ дСлаСтся (Ρ‚. Π΅. ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°ΠΊ Π±Ρ‹ пропускаСтся ΠΈ ЦП ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹). Если, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅Π΅ = «лоТь», происходит Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ рСгистра (ΠΊΠ°ΠΊ слова) ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΊΠ°, с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ содСрТимого рСгистра. Если Π² рСгистрС обнаруТиваСтся β€” 1, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ Π½Π΅ осущСствляСтся, ΠΈ выполняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π’ нашСм случаС ΠΊΠΎΠΌΠ°Π½Π΄Π° DBcc дСйствуСт просто ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ = F («всСгда лоТь», см. Ρ‚Π°Π±Π». 11.1), поэтому Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ D1 осущСствляСтся бСзусловно, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ обнаруТится D1 = β€” 1. НСсмотря Π½Π° эти слоТности (Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ счСтчик Π΄Π»ΠΈΠ½ΠΎΠΉ Π² слово), ΠΊΠΎΠΌΠ°Π½Π΄Π° DBcc вСсьма ΡƒΠ΄ΠΎΠ±Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ замСняСт Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (SUBQ, Π’cс), ΠΈ выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° провСряСт счСтчик Π½Π° β€”1, послСдний слСдуСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числом, Π½Π° 1 мСньшим Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа шагов, Ρ‡Π΅ΠΌ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ инициализация, использованная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° заканчиваСтся ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ RTS (Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ исходноС содСрТимоС PC (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика) ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅ΠΉ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ понадобилось ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ содСрТимоС ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ рСгистров, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ оставила Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ†Π΅Π½Π½ΠΎΠ³ΠΎ Π² рСгистрах D0-D1 ΠΈ А0-А1. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС MOVE, Π° Π½Π΅ CLR для обнулСния массивов; оказываСтся, ΠΊΠΎΠΌΠ°Π½Π΄Π° MOVE Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС CLR ΠΈΠ·-Π·Π° особСнностСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ МП 68000 β€” ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ CLR МП 68000 сначала ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» чтСния, Π° Π·Π°Ρ‚Π΅ΠΌ β€” Ρ†ΠΈΠΊΠ» записи. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ приняли Ρ‚Π°ΠΊΠΎΠ΅, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, странноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для упрощСния Π»ΠΎΠ³ΠΈΠΊΠΈ ЦП.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.13. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ clear arrays с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄ SUBQ ΠΈ Всс вмСсто DBF. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вмСсто MOVE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ CLR.


ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° update Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°. Π•Π΅ Π·Π°Π΄Π°Ρ‡Π° β€” ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ массив DISPLAY Π² памяти (Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ состояниС Π­Π›Π”); ΠΎΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ вызываСтся Π² ΠΎΠ±ΠΎΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ… Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСрывания ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ‚ΠΎΡ‡Π½ΠΎΠΌ соотвСтствии с расписаниСм (ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 100 ΠΌΠΊc), всС ΠΆΠ΅ ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ врСмя отдаСтся ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ update. Π•Π΅ дСйствия Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с пСрСсылки ΠΎΠ±Ρ€Π°Π·Π° Π­Π›Π” Π² памяти Π² физичСский ΠΏΠΎΡ€Ρ‚ Π­Π›Π”. Π”Π°ΠΆΠ΅ эта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простая опСрация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… пояснСний. ЕстСствСнный вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π²Π°ΠΌ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, β€” это ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹, ТСлая ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π±ΠΈΡ‚ Π­Π›Π”, Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π­Π›Π” нСпосрСдствСнно? Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π΄Π²Π° ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, просто Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ Π² ΠΏΠΎΡ€Ρ‚ Π­Π›Π” нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ этом ΠΏΠΎΡ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ значСния ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ²; Π»ΠΈΠ±ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ Π­Π›Π” с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊ записи, Ρ‚Π°ΠΊ ΠΈ чтСния, Π»ΠΈΠ±ΠΎ Π½Π°Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² памяти ΠΎΠ±Ρ€Π°Π· Π­Π›Π”. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ· нашСго ΠΏΠΎΡ€Ρ‚Π° Π­Π›Π” Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ нСльзя, Π² памяти прСдусмотрСна ячСйка led__store, хранящая копию послСднСго Π±Π°ΠΉΡ‚Π°, посланного Π² ΠΏΠΎΡ€Ρ‚ Π­Π›Π”. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ€Π°Π· ΡƒΠΆ такая ячСйка всС Ρ€Π°Π²Π½ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π² критичСских Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, обновляя Π² Π½ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ячСйку led__store. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΆΠ΅ сообщСния Π½Π° Π­Π›Π”-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° update Π² Ρ…ΠΎΠ΄Π΅ своСго выполнСния. ВсС это станСт Π±ΠΎΠ»Π΅Π΅ понятным, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ приступим ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.14. КакиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (ΠΎΡ‡Π΅Π½ΡŒ нСслоТныС) Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠΎΡ€Ρ‚Π° Π­Π›Π”? ΠŸΡ€ΠΎΡΠ²ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΡ адрСса ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ простой.


ΠžΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ update обновляСт массив DISPLAY. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΈΠ· памяти извлСкаСтся смСщСниС (число элСмСнтов ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° массива) ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ обновляСмого элСмСнта. (Для этого Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ адрСсный рСгистр, Π½ΠΎ ΠΏΡ€ΠΈ распрСдСлСнии рСгистров ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π±Ρ‹Π», ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΡ‚Π΄Π°Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.) Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ умноТаСтся Π½Π° 4 (сдвигом Π²Π»Π΅Π²ΠΎ Π½Π° 2 Π±ΠΈΡ‚), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксной адрСсации Π² массивС DATA Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… чисСл. ΠŸΠ΅Ρ€Π΅ΡΠ»Π°Π² Π² D1 ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт ΠΈΠ· DATA, ΠΌΡ‹ считываСм с ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° изобраТСния ΠΈ маскируСм Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ число ΠΎΡ‚ 0 Π΄ΠΎ 15. Число 15 ($0F) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ мСньшиС числа ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ фиксированный ΠΌΠ°ΡΡˆΡ‚Π°Π± Π² Π²ΠΈΠ΄Π΅ стСпСни 2. ΠœΡ‹ Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сдвигаСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

Для выполнСния Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ (индСксированного с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ update__offset) элСмСнта DATA Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· массива NORM (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, сколько Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΎΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DATA), Π° Π·Π°Ρ‚Π΅ΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠ°Π½Π°Π»Π° (которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, сколько Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ Π±Ρ‹Π»ΠΎ сдСлано Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΊΠ΅). ΠŸΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ всСгда провСряйтС Π½Π° Π½ΡƒΠ»ΡŒ! НаконСц, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ сдвигС, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ Π² Π±Π°ΠΉΡ‚ со Π·Π½Π°ΠΊΠΎΠΌ. Π’ случаС Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ число всСгда находится Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Β±128. Π’ случаС фиксированного ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°, Ссли Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± мСньшС отсчСта Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, выходящиС Π·Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΡ€Π°ΠΉ изобраТСния, Β«ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒΒ» Π² Π΅Π³ΠΎ Π½ΠΈΠ· ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Написав нСсколько чисСл ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π² с Π½ΠΈΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² усСчСнии числа Π΄ΠΎ 8 Π±ΠΈΡ‚ ΠΈ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π°. ΠœΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ измСнСния Π±ΠΈΡ‚Π° BCNG, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся байтовая пСрСсылка (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ MOVE) Π² массив DISPLAY. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ сохраняСм индСкс update__offset ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ RTS.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. НаконСц ΠΌΡ‹ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ β€” Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ прСрываниями ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°; ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ bad__int Π»ΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ошибок ΠΈ Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ (Ρ‚Π°Π±Π». 11.5). ЗаймСмся Ρ€Π°Π΄ΠΈ Ρ€Π°Π·ΠΌΠΈΠ½ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ bad__int, Π° ΠΊΠΎΠ³Π΄Π° Π½Π΅ останСтся ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΎΠΊ, примСмся Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.