ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΡΠΌΡΠ»ΡΡΠΎΡΡ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ-ΡΠΌΡΠ»ΡΡΠΎΡΠ°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ: ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π’ΠΎ Π΅ΡΡΡ ΡΠΌΡΠ»ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°ΠΊΠΈΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ°Π΄Π°ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
1) Π Ρ ΠΎΠ΄Π΅ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ:
1) ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» atmega128.h.
2) Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ a13. cpp
3) ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΎΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
1. ORI
2. CPI
3. BRPL
4. LD X, R
5. (STX, Rr)
6. MOVW
7. BST
8. SET
4) ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΡ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠΎΠΌ ΠΠΎΠ΄Π΅Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
1) ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° I-8082W
2) ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π°ΡΡ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ΄ΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
3) ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π·Π°Π΄Π°Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ-ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ-ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ°Π»Π΅Π΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² ΠΏΠ°ΠΌΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ: ΠΏΡΠΎΡΠΌΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΡΠΌΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ΅ΠΊΠ°, ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ°Π·Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ: ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π·ΠΊΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡΡΡ. ΠΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ/ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΡΠ΅ΡΠ΅ΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡΡΡ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΡΠΌΡΠ»ΡΡΠΎΡΡ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ-ΡΠΌΡΠ»ΡΡΠΎΡΠ°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ: ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π’ΠΎ Π΅ΡΡΡ ΡΠΌΡΠ»ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΏΠ°ΠΌΡΡΡ, Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ, ΡΡΠ΅ΠΊ, ΠΏΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΡΠΈΠΊΠ» ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ΅ΡΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°ΡΡ, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π½Π°Π²ΡΠΊΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠ΅ Π½Π΅Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ATMega128, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ. ΠΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ATMega128
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega (ΠΈ ATVega128 Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ) ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ AVR ΡΠΈΡΠΌΡ «Atmel» ΡΠ²Π»ΡΡΡΡΡ 8-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ΠΈ ΠΈΠ·Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΌΠ°Π»ΠΎΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠ΅ΠΉ ΠΠΠΠ-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅/ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²ΠΈΡΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR.
ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π ΡΠΈΡΠ»Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΠΎΡΠ½ΠΎΡΡΡΡΡ:
* FLASH-ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 8… 128 ΠΠ±Π°ΠΉΡ (ΡΠΈΡΠ»ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΡΡΠΈΡΠ°Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1000);
* ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ (ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ£) ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ I…4 ΠΠ±Π°ΠΉΡ;
* ΠΏΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΠ‘ΠΠΠΠ£ (EEPROM) ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 512 Π±Π°ΠΉΡ…4 ΠΠ±Π°ΠΉΡ (ΡΠΈΡΠ»ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΡΡΠΈΡΠ°Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 100 000);
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½ΡΡ ;
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ SPI ΠΈ JTAG;
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ IEEE 1149.1 (JTAG);
* ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΠ‘-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²ΡΠ΅ΠΌΡΠ·Π°Π΄Π°ΡΡΠ΅ΠΉ ΠΠ‘-ΡΠ΅ΠΏΠΎΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡΠΎΠΌ (ΠΏΡΠ΅Π·ΠΎΠΊΠ΅ΡΠ°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ»ΠΈ ΠΊΠ²Π°ΡΡΠ΅Π²ΡΠΌ); Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠ³Π½Π°Π» ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ;
* Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ;
* Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (brown-out detector, BOD);
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°*.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°:
* ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°; ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΠΊΡΠΎΠ²Π°Ρ ΡΠ°ΡΡΠΎΡΠ° ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ;
* ΠΠΠ£ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ;
* Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠΈΠΊΠ»;
* ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ; ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ, ΠΏΡΠΈΡΡΡΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΌΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Ρ:
* Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (Π΄ΠΎ 27 ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΈΠ· I Π½ΠΈΡ Π΄ΠΎ 8 Π²Π½Π΅ΡΠ½ΠΈΡ );
* Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°; I * Π½Π°Π»ΠΈΡΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ.
ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄:
* ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°;
* Π²ΡΠ²ΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°;
* Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π±ΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠΌ Π¨ΠΌΠΈΡΡΠ° Π½Π° Π²ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°Ρ ;
* Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π°ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ² (ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ² ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 35…120ΠΊΠΠΌ) ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΄ΡΠ° Π―Π΄ΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ (enhanced RISC). ΠΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΎ-Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΠΠ£), Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π΅ Π²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ 32-ΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΠΠ£ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ») Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠΈΠΊΠ». ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ 16-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΉΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ AVR ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ. Π’Π°ΠΊΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ½ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠ°ΠΌΡΡΠΈ ΡΠΈΠ½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠΏΠΎΡΠΎΠ±Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½Ρ.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄Π΅ΡΠΈΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΈΡΠ΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² AVR ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡ ΠΆΠ΅ 1ΠΏΡΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΈ RISC-ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠΌ, Π½ΠΎ ΠΏΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ AVR ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΡΠ²Π»ΡΡΡΡΡ 8-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ Ρ RISC-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (FLASH) ΠΈ Π΄Π°Π½Π½ΡΡ (EEPROM), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ³Π°ΡΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ². ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠΎΡΡΠ°Π² ΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ (ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ). Π ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠΌ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°, ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΠ¦Π, ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° TWI (Two Wire Interface, Π°Π½Π°Π»ΠΎΠ³ ΡΠΈΠ½Ρ 12Π‘), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JTAG.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Π ΠΈΡ. ΠΠ° ΡΡΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°. ATmegal28x. ΠΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ AVR ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠΈΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ. Π‘ΠΏΠΎΡΠΎΠ±Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½Ρ. Π’Π°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ (ΠΠΠ£ ΠΈ EEPROM) ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² ΡΠ²ΠΎΠ΅ΠΌ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅.
Π Π΅Π³ΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Π ΠΈΡ. Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ AVR Π²ΡΠ΅ 32 Π ΠΠ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΠΠ£, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡ — ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ W (Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π»ΡΠ±ΠΎΠΉ Π ΠΠ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°Π½Π΄-ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°Π½Π΄-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΠΠ£ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ») Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠΈΠΊΠ».
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 6 ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠ°ΠΉΠ»Π° (R26-R31) ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΡΡΠΈ 16-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ° X, Y, Z, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ .
Π Π΅Π³ΠΈΡΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
ΠΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ — ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ (Π² Ρ. Ρ. ΡΠ΅Π³ΠΈΡΡΡΡ ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°).
ΠΠΎ Π²ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mega ΡΠ΅Π³ΠΈΡΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 64 Π±Π°ΠΉΡΠ°. Π ΠΌΠΎΠ΄Π΅Π»ΡΡ ATmegal62x, ATmega64x ΠΈ ATmegal28x, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 160 Π±Π°ΠΉΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π ΠΠ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΎΠ±ΡΡΠ½ΡΡ 64-Ρ Π ΠΠ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
Π Π ΠΠ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΌΠΎΠΆΡ0 Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ IN ΠΈ OUT, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· 32-Ρ Π ΠΠ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°: ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ/ΡΠ±ΡΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΈΡΠ° (SBI ΠΈ CBI) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΈΡΠ° (SBIS ΠΈ SBIC). Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ 1-ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (Π°Π΄ΡΠ΅ΡΠ° $ 00…$ 1F).
ΠΠΎΠΌΠΈΠΌΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ IN ΠΈ OUT), ΠΊ Π ΠΠ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΊ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ ΠΠΠ£ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ST/SD/SDD ΠΈ LD/LDS/LDD (Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π ΠΠ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ).
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π°Π΄ΡΠ΅ΡΠ° Π ΠΠ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ($ 00…$ 3F). ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π΄ΡΠ΅Ρ Π ΠΠ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π½Π° $ 20.
Π Π΅Π³ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π‘ΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ Π ΠΠ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π³ΠΈΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ SREG. ΠΠ½ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ $3 °F ($ 5F) ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΡΠ»Π°Π³ΠΎΠ², ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»Π°Π³ΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² «1» ΠΈΠ»ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π² «0» ΠΏΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄). ΠΡΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ; ΠΏΠΎΡΠ»Π΅ ΡΠ±ΡΠΎΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΡΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π² «0». Π€ΠΎΡΠΌΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Π ΠΈΡ ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π° ORI — Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ OR Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ OR ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ° Rd ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Rd.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ:
(i) | Rd <— Rd v K | |||
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ | ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ: | Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: | ||
(i) | ORI Rd, K | 16 < d < 31,0 < K <255 | PC <- PC + 1 | |
16-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
KKKK | dddd | KKKK | ||
ΠΡΠ»Π΅Π²Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ° (SREG)
I | T | H | S | V | N | Z | C | |
; | ; | ; | ; | |||||
S: | N?V, ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ | |
V: | 0 ΠΡΠΈΡΠ΅Π½ | |
N: | R7 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MSB, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
Z: | Rd7*R6*R5*R4*R3*R2*R1*R0 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ $ 00, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
R: | (Π Π΅Π·ΡΠ»ΡΡΠ°Ρ)ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Rd ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ | |
ΠΡΠΈΠΌΠ΅Ρ:
ori r16, $F0; Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°ΡΡΠΈΠΉ Π½ΠΈΠ±Π±Π» r16
ori r17, 1; Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ 0 ΡΠ΅Π³ΠΈΡΡΡΠ° r17
Π‘Π»ΠΎΠ²: 1 (2 Π±Π°ΠΉΡΠ°) Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
ΠΠΎΠΌΠ°Π½Π΄Π° CPI — cΡΠ°Π²Π½ΠΈΡΡ c ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Rd Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ:
(i) | Rd = K | |||
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ | ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ: | Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: | ||
(i) | CPI Rd, K | 16 =< d =< 31, 0 < K <255 | PC <- PC + 1 | |
16-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
KKKK | dddd | KKKK | ||
ΠΡΠ»Π΅Π²Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ° (SREG)
I | T | H | S | V | N | Z | C | |
; | ; | |||||||
H: | Rd3*K3+K3*R3+R3*Rd3 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π·Π°Π΅ΠΌ ΠΈΠ· Π±ΠΈΡΠ° 3, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
S: | N?V, ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ | |
V: | Rd7*K7*R7+ Rd7*K7*R7 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎ Π΄Π²ΡΡ , Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
N: | R7 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MSB, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
Z: | R7*R6*R5*R4*R3*R2*R1*R0 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ $ 00, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
C: | Rd7*K7+K7*R7+R7*Rd7 Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ K Π±ΠΎΠ»ΡΡΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Rd, Π² ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ | |
R: | (Π Π΅Π·ΡΠ»ΡΡΠ°Ρ) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ | |
ΠΡΠΈΠΌΠ΅Ρ:
cpi r19, 3; Π‘ΡΠ°Π²Π½ΠΈΡΡ r19 Ρ 3
brne error; ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π΅ΡΠ»ΠΈ r4 <> 3
error: nop; ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΏΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ) Π‘Π»ΠΎΠ²: 1 (2 Π±Π°ΠΉΡΠ°) Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
ΠΠΎΠΌΠ°Π½Π΄Π° BRPL — ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π΅ΡΠ»ΠΈ ΠΏΠ»ΡΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π£ΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄. Π’Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ Π±ΠΈΡ ΡΠ»Π°Π³Π° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (N) ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ° ΠΈ, Π΅ΡΠ»ΠΈ Π±ΠΈΡ ΠΎΡΠΈΡΠ΅Π½, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² Π»ΡΠ±ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (PC-64 < Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ < PC+63). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ k ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΡΠΎΡΠΌΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎ Π΄Π²ΡΡ . (ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° BRBC 2, k).
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ:
(i) | If N = 0 then then PC <- PC + k +1, else PC <- PC +1 | |||
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ | ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ: | Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: | ||
(i) | BRPL k | — 64 < k <+63 | PC <- PC + k + 1 PC <- PC + 1, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½Ρ | |
16-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
01kk | kkkk | k010 | ||
ΠΡΠ»Π΅Π²Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ° (SREG)
I | T | H | S | V | N | Z | C | |
; | ; | ; | ; | ; | ; | ; | ; | |
ΠΡΠΈΠΌΠ΅Ρ:
subi r26, $ 50; ΠΡΡΠ΅ΡΡΡ $ 50 ΠΈΠ· r26
brpl positive; ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π΅ΡΠ»ΠΈ r26 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½
…
positive: nop; ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΏΡΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ) Π‘Π»ΠΎΠ²: 1 (2 Π±Π°ΠΉΡΠ°) Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠ°ΠΌΡΡΡ Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ I-8082W
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ I-8082W ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 8 ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΡΡΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΠ»ΠΈ 8 ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΌΠ΅Ρ. ΠΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΡΠ΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΡΠΏΠ°Π΄Π° (ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈΠ· 1 Π² 0).
ΠΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ Π±ΡΠ»Π° Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠΎ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π±ΡΠ» Π²Π·ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ I-8080. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠ΅ΠΌ ΠΊΡΡΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ 8-ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΌΠ΅Ρ (I-8082W), ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° I-8080.
ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅ ΡΡΠΎΠΈΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ 32 Π±ΠΈΡΠ½ΡΠΉ ΡΡΠ΅ΡΡΠΈΠΊ.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
Π§Π°ΡΡΠΎΡΠΎΠΌΠ΅Ρ ΡΡΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² ΠΏΠΎΠ΄Π°Π½Π½ΡΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ ΠΎΠ΄ A ΠΈΠ»ΠΈ B Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, Ρ. Π΅. ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Ρ ΠΎΠ΄ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠΌ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ. ΠΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΎΡΠ°) ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½Π° 0.33 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ.
ΠΠ½Π°Π»ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π·ΡΠ» Π½Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π²ΡΠ΄Π°Π²Π°Π²ΡΠΈΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ, Π° ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠΎΠΌ (ΠΠΈΡ Π°ΠΉΠ»ΠΎΠ²) — Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI). ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΠ°Π»Π°ΡΡ ΠΏΠΎΡΡΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π΅ ΡΡΠΈΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π³Π»ΡΡΠ΅ΠΊ Π½Π° Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π»ΠΎΠ³.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π» Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Β· BasicDef. h — ΠΠ°ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ SREG
Β· IODef — ΠΌΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ΄ΡΠ΅ΡΠ° Π² ΠΌΠ°ΠΊΡΠΎΡΠ°Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
Β· Core. h, Core. cpp — ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΄ΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Β· ΠΠ΄Π΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ°ΠΊΡΠΎΠ², ΠΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ. ΠΏ., ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³Π»ΡΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΌΠ΅ΡΡΠ½Π°Ρ Π² ΡΠ΄ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³.
Β· OutsideCore. h, OutsideCore. cpp — ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ°ΠΏΡΡΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ· HEX ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡ Π·Π°ΠΏΡΡΠΊ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄Π°Π½Π½ΡΡ , ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ ΠΈ Ρ. ΠΏ. Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΈΡ Π²ΡΠ²ΠΎΠ΄ (ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π½Π° Π²ΡΠ²ΠΎΠ΄).
ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² HEX ΡΠΎΡΠΌΠ°ΡΠ΅.
Β· Form1. h — GUI ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Windows Forms.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠ» a13. cpp, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΈΡΠΏΡΠ°Π²Π½ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΌΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° OCore:
1. void brpl ();
2. void ori ();
3. void cpi ();
4. void movw ();
5. void bst ();
6. void set ();
7. void ldx1();
8. void stx3();
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ ΠΠΎΠΌΠ°Π½Π΄Π° ORI
ΠΠΎΠΌΠ°Π½Π΄Π° CPI
ΠΠΎΠΌΠ°Π½Π΄Π° BRPL
ΠΠΎΠΌΠ°Π½Π΄Π° MOVW
ΠΠΎΠΌΠ°Π½Π΄Π° LD Rd, X
ΠΠΎΠΌΠ°Π½Π΄Π° STX, Rr
ΠΠΎΠΌΠ°Π½Π΄Π° BST
ΠΠΎΠΌΠ°Π½Π΄Π° SET
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π’Π°ΠΊ ΠΊΠ°ΠΊ I-8082W ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ 8 ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ², ΡΠΎ Π±ΡΠ»ΠΈ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Ρ Π²ΡΠ΅ 8 ΠΊΠ°Π½Π°Π»ΠΎΠ².
ΠΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ — ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ — ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 1 ΠΈ 0 ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π» Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ GUI. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ ΠΎΠ΄ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ 2 ΠΈΠΌΠΏΡΠ»ΡΡΠ°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ:
Π‘ΡΠ΅ΡΡΠΈΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° 32 Π±ΠΈΡΠ½ΡΠΉ, Π° ΠΏΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ Π² avr — 8 Π±ΠΈΡΠ½ΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ, Π»ΠΈΠ±ΠΎ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ 4 ΠΏΠΎΡΡΠ° ΠΠ. Π ΠΈΡΠΎΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ 32 Π±ΠΈΡΠ° ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅, Π° Π΅ΡΠ»ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ, ΡΠΎ Π½Π° Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. Π ΠΈΡΠΎΠ³Π΅ 1 ΠΏΠΎΡΡ (PORTA) Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°, Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΡΡ (PORTB) ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΅Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ°ΠΉΠ»Π°Ρ I_8082W.h ΠΈ I_8082W.cpp ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π² ΡΠ°ΠΉΠ»Π΅ I_8082W_Form.h
ΠΠ°ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠ²ΡΠ΅ 3 Π±ΠΈΡΠ° Π±ΡΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΏΠΎΠ΄ ΠΊΠ°Π½Π°Π».
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ:
1 ΠΊΠ°Π½Π°Π» | ||
2 ΠΊΠ°Π½Π°Π» | ||
3 ΠΊΠ°Π½Π°Π» | ||
4 ΠΊΠ°Π½Π°Π» | ||
5 ΠΊΠ°Π½Π°Π» | ||
6 ΠΊΠ°Π½Π°Π» | ||
7 ΠΊΠ°Π½Π°Π» | ||
8 ΠΊΠ°Π½Π°Π» | ||
ΠΡΠ»ΠΈ 4-ΠΉ Π±ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² «1», ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°, ΠΈΠ½Π°ΡΠ΅ Π΅ΡΠ»ΠΈ «0», ΡΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅.
5 ΠΈ 6 Π±ΠΈΡΡ: ΠΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ Π², Π Π±Π°ΠΉΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°
7-ΠΉ Π±ΠΈΡ: Π‘Π±ΡΠΎΡ ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ:
#define CHANNEL (v) (v & 0×07)
#define READ_WRITE (v) ((v & 0×08) >> 3)
#define BYTE (v) ((v & 0×30) >> 4)
#define RESET (v) ((v & 0×40) >> 6)
ΠΠ»Π°ΡΡ I_8082W ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅Π½Ρ:
//Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΄ΡΠΎ ΠΠ
OCore *_avr;
//ΠΠ°Π½Π°Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈΡ 8.
channel *channels;
ΠΠ»Π°ΡΡ channel ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅Π½Ρ:
//Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π° Π²Ρ ΠΎΠ΄Π΅
char _curA;
//ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΠΎΠ΄Π°Π½Π½ΡΠΉ Π½Π° Π²Ρ ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»
char _prevA;
//ΠΠ΅ΡΠΈΠΎΠ΄ Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΎΡΠ°
unsigned long _period;
//ΡΡΠ΅ΡΡΠΈΠΊΠΈ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΡΠΎΡΠΎΠΌΠ΅ΡΠ°
unsigned int _impulseCount0;
//ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»ΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ
unsigned int _stepsCount;
//Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΊΠ°Π½Π°Π»Π°
signed long _count0;
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ GUI
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «Π¨Π°Π³» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΎΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ I-8082W Π»Π΅Π²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» «ΡΡΠ΅Π΄Π°Π΅ΡΡΡ» ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΈ ΠΏΠΎΠ΄Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π² ΠΌΠ΅ΡΠΎΠ΄ I_8082W:step ().
Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅: ΠΠ΄Π΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΡ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ 1 ΠΊ 0(ΠΏΠΎΡΠΎΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅). ΠΠΎΡΠ»Π΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ _period — ΠΏΠΎΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΡΡΠ΅ΡΡΠΈΠΊ. Π ΠΏΠΎΠ΄ΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π°.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠ²ΡΠΎΠΌΠ°Ρ» Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π° file. txt, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π’. Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ. ΠΠ°ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠ²ΡΠΎΠΌΠ°Ρ» ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ Π’Π°ΠΊ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ! ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π½ΡΠΆΠ½ΡΠ΅ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π³Π°Π»ΠΎΡΠΊΡ «Π ΡΡΠ½ΠΎΠΉ».
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» TEST. asm:
ori r17,2
cpi r18,$E7
brpl plus
ori r19,3
plus:
movw r16, r0
ld r4, x
stx, r3
bst r1,2
set
ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ»Π°Π³ΠΎΠ²:
Π€Π»Π°Π³ΠΈ:
C | Z | N | V | S | H | T | I | |
ΠΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ
1)ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° — ΠΊΠΎΠΌΠ°Π½Π΄Π° ORI (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ):
ori r17, 2
Π Π΅Π³ΠΈΡΡΡ: r17 = 0xC0
ΠΠΎΠ½ΡΡΠ°Π½ΡΠ°: 2
Rez = r17 | 2 = 0xC0 | 2 = 0xC2
ΠΡΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΠ΅ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ r17.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ»Π°Π³ΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π€Π»Π°Π³ΠΈ:
C | Z | N | V | S | H | T | I | |
Π€Π»Π°Π³ N ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π² Π΅Π΄ΠΈΠ½ΠΈΡΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈΡΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 1 Π±Π°ΠΉΡ ΠΈ Π² ΡΡΠ°ΡΡΠ΅ΠΌ ΡΠ°Π·ΡΡΠ΄Π΅ Π±ΡΠ΄Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ ΠΊΠ°ΠΊ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ r17 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΈ ΡΠ°Π²Π½ΠΎ 0xΠ‘2
2) 2 ΠΊΠΎΠΌΠ°Π½Π΄Π° cpi r18,$E7.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, Π° Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ ΡΠ»Π°Π³ΠΈ.
r18 = 0×13; K = $E7;
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ: Rez = 0×13 -0xE7 = 0x2C = 44 = 0010 1100
Π€Π»Π°Π³ΠΈ:
C | Z | N | V | H | T | |
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠΉ, ΡΠ»Π°Π³ N = 0 ΠΈ Z = 0. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠΎ Π‘ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² «1». Π€Π»Π°Π³ «Π’» Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
3) brpl plus
ori r19,3
plus:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΌΠ΅ΡΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° «N» ΡΠ°Π²Π½ΠΎ «0». Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΉΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° N = 0, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΌΠ΅ΡΠΊΠ΅ «plus» Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ori r19,3 Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ.
Π€Π»Π°Π³ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ!
4) movw r16, r0.
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΡ r0: r1 Π² r16:17.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
r0 | r1 | r16 | r17 | |
0xC | 0xC0 | 0x14 | 0xC2 | |
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
r0 | r1 | r16 | r17 | |
0xC | 0xC0 | 0xC | 0xC0 | |
5) ld r4, x — ΠΠΎΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡ ΠΠ½Π΄Π΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ «Π₯» ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² 26 ΠΈ 27 ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π½ΠΎ ΡΠ°ΠΌ ΡΡΠ°ΡΡΠ°Ρ ΠΈ ΠΌΠ»Π°Π΄ΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΊΠ°ΠΊ
ΠΠ»Π°Π΄ΡΠ°Ρ ΡΠ°ΡΡΡ | Π‘ΡΠ°ΡΡΠ°Ρ ΡΠ°ΡΡΡ | |
ΠΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ :
short X = ((short)reg[27] << 8) | reg[26];
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π₯ = 0×2411. Π ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² r4 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ dmem[11].
Π€Π»Π°Π³ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ!
6)stx, r3 — ΠΠΎΡΠ²Π΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΡΠ΅Π΄Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΎΠΌ Π₯ = 0×2411;
r3 = 0xC0;
//Π ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π₯ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ Rr
dmem[X] = Rr;
Π€Π»Π°Π³ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ!
7)bst r1, 2
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ 2 Π±ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° r1 Π²ΠΎ ΡΠ»Π°Π³ Π’.
r1 = 0xc0 = 1 100 000 => r1[2] = 0. ΠΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎ Π²ΠΎ ΡΠ»Π°Π³ Π’ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ Π½ΠΎΠ»Ρ.
8)set
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ Π’ Π² Π΅Π΄ΠΈΠ½ΠΈΡΡ.
SET_T (1);
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
#include «OutsideCore.h»
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ORI: 0110 kkkk dddd kkkk
////——————————————————————————————-;
#define REG_D_ORI ((cmd & 0×00F0) >> 4)
#define K_ORI ((cmd & 0×000F) + ((cmd & 0x0F00) >> 4))
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CPI: 0011 kkkk dddd kkkk
////——————————————————————————————-;
#define REG_D_CPI ((cmd & 0×00F0) >> 4)
#define K_CPI ((cmd & 0×000F) + ((cmd & 0x0F00) >> 4))
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ BRPL: 1111 01kk kkkk k010
////——————————————————————————————-;
#define K_BRPL (((cmd & 0×03F8) >> 3))
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ LDX1: 1001 000d dddd 1100
////——————————————————————————————-;
#define REG_D_LDX1 ((cmd & 0×01F0) >> 4)
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ STX3: 1001 001r rrrr 1110
////——————————————————————————————-;
#define REG_R_STX3 ((cmd & 0×01F0) >> 4)
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ MOVW: 0000 0001 dddd rrrr
////——————————————————————————————-;
#define REG_D_MOVW ((cmd & 0×00F0) >> 4)
#define REG_R_MOVW (cmd & 0×000F)
////——————————————————————————————-;
//// ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ BST: 1111 101d dddd 0bbb
////——————————————————————————————-;
#define REG_D_BST ((cmd & 0×01F0) >> 4)
#define B_BST (cmd & 0×0007)
//————————————————————————;
//—- ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΡΠ΅Π³ΠΈΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Rd
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: ORI Rd, K
//—- Π€Π»Π°Π³ΠΈ: Z, N, V
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
//————————————————————————;
void OCore: ori ()
//Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ Rd
USC Rd = reg[REG_D_ORI + 16];
//Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π
signed short K = K_ORI;
USC Rez = Rd
//————————————————————————;
//—- Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: CPI Rd, K
//—- Π€Π»Π°Π³ΠΈ: Z, N, V, C, H
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
//————————————————————————;
void OCore: cpi ()
//————————————————————————;
//—- ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄, Π΅ΡΠ»ΠΈ ΠΏΠ»ΡΡ
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: BRPL K
//—- Π€Π»Π°Π³ΠΈ: ΠΠ΅Ρ
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1 / 2
//————————————————————————;
void OCore: brpl (){
signed short k = K_BRPL;
if (SREG_N == 0) {
pc += k;
clock += 2;
}
else
{
clock++;
}
outLog («brpl»);
}
//————————————————————————;
//—- ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΠ»ΠΎΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: MOVW Rd, Rr
//—- Π€Π»Π°Π³ΠΈ: ΠΠ΅Ρ
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
//————————————————————————;
void OCore: movw (){
USC Rr0 = reg[REG_R_MOVW];
USC Rr1 = reg[REG_R_MOVW + 1];
reg[REG_D_MOVW << 1] = Rr0;
reg[(REG_D_MOVW << 1)+ 1] = Rr1;
clock += 1;
outLog («movw»);
}
//————————————————————————;
//—- ΠΠΎΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡ
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: LD Rd, X
//—- Π€Π»Π°Π³ΠΈ: ΠΠ΅Ρ
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 2
//————————————————————————;
void OCore: ldx1() reg[26];
reg[REG_D_LDX1] = dmem[X];
clock += 2;
outLog («ldx1»);
//————————————————————————;
//—- ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: STX, Rr
//—- Π€Π»Π°Π³ΠΈ: ΠΠ΅Ρ
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 2
//————————————————————————;
void OCore: stx3()
short X = ((short)reg[27] << 8)
//————————————————————————;
//—- ΠΠ°ΠΏΠΈΡΡ Π±ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ° Π² T
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: BST Rr, b
//—- Π€Π»Π°Π³ΠΈ: Π’
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
//————————————————————————;
void OCore: bst (){
USC Rr = reg[REG_D_BST];
USC B = B_BST;
SET_T ((Rr >> B) & 0×0001);
clock++;
outLog («bst»);
}
//————————————————————————;
//—- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»Π°Π³Π° T Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ SREG
//—- ΠΠΎΠΌΠ°Π½Π΄Π°: SET
//—- Π€Π»Π°Π³ΠΈ: Π’
//—- Π¦ΠΈΠΊΠ»ΠΎΠ²: 1
//————————————————————————;
void OCore: set (){
SET_T (1);
clock++;
outLog («set»);
}