ΠΠΌΡΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° FSUB
Π₯ΠΎΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π‘++ ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠ΅Π°Π»ΡΠ½ΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠ°ΡΡΠΈ, Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π» ΡΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ (Loki, Boost) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π»ΡΠΌΠ±Π΄/Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²), Π½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΡΠΏΠ°Π΅Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΌΡΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° FSUB (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΌΡΠ»ΡΡΠΈΡ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1. ΠΠ½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ Π²ΡΠ±ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ·ΡΠΊΠ° ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
2. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
2.1 ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π²ΡΠ±ΠΎΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ
2.2 ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
2.3 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
3.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ FSUB ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
3.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ FSUB
3.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ FLD
3.4 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Print_st
4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π Π΅Π°Π»ΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΈΠΊΡΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΠ²Π°ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΡΡΠΎΠΈΠΌΠΎΡΡΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ Π½Π΅ Π±ΡΠ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π§ΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. ΠΠΈ ΠΊΡΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ Π²Π΅ΡΡ Π΅ΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅Ρ Π΄Π΅ΡΠ΅Π²ΡΠΉ Π°Π½Π°Π»ΠΎΠ³. ΠΠΎ ΡΠ°Π΄ΠΈ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ. ΠΠΎ ΡΡΡΡΠΊΠΈΠ΅ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΡΠΈΡΠΏΠΎΡΡΠ΅Π± ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π΅ΠΌΡ ΠΊΡΠ»ΡΡΡΡΠ° Π΄Π΅Π»ΠΎΠ²ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ. Π§ΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΡΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π΅ ΡΠΈΠΏΡ, ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ. Π ΡΠ΄ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅ΡΠ΅Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΉ Π±ΠΎΡΡΠ±Π΅. Π ΠΏΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ ΡΠ΅Π΄ΠΊΠΎΡΡΡ Π²ΡΡΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ΅Π΄ΠΈΠ°ΠΏΠ»Π΅Π΅ΡΡ, ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΠΈ Ρ. Π΄. ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅, Π»ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ ΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΌΠ°ΡΠΈΠ½.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΡΡ ΡΡΠΆΠ΅ΡΡΡ Π»ΠΎΠΆΠΈΡΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π½ΠΈΡ .
1. ΠΠ½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ Π²ΡΠ±ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ·ΡΠΊΠ° ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΌΡΠ»ΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’Π°ΠΊ ΡΠΆ ΠΏΠΎΠ²Π΅Π»ΠΎΡΡ, ΡΡΠΎ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΈ ΠΎΡΠ΅Π½Π΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Pascal, Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° :
Β· Π£Π΄ΠΎΠ±Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
Β· ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½Π°Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ·ΡΠΊ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ.
Β· ΠΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Β· ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Β· ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ DOS, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡ ΠΎΠ΄ΠΈΡ Π½Π° Π½Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΡΡΠ΅Π΄Ρ Π²Π²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ (TD).
Β· Π ΠΌΠΎΠ΄ΡΠ»Π΅ CRT ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° (Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΠΎΠ΄ΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΊΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ delay, Π½Π΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Π±ΡΡΡΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ), ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Ρ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 200 MHz ΡΡΠ°Π·Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ «Runtime error 200 at…». Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ CRT. Π Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΠ»Π°ΡΡΠ° Π₯Π°ΡΡΠ½Π΅Π³Π³Π° ΠΎΡΠΈΠ±ΠΊΠ° 200 Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Delay Π½Π° Π±ΡΡΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ, ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎ Π½Π΅Π·Π½Π°Π½ΠΈΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ Turbo Pascal.
Assembler, Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
Β· Π―Π·ΡΠΊ Π°ΡΡΠ΅Π±Π»Π΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ² Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Β· ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ, Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ, Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Ρ. Π΅. ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ ΠΈΡΠΊΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ: ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ (Π·Π° ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ/ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ), ΠΎΠ±ΡΡΠΌ ΠΊΠΎΠ΄Π° (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π·Π° ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²).
Β· ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².
Β· ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠ΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΡΡΠ°ΠΌ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΈ Π΄Ρ.
Β· Π―Π·ΡΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Β· Π―Π·ΡΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ «ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ» BIOS.
Β· Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
Β· Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Β· ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½ΠΈΠ²Π΅Π»ΠΈΡΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
Β· Π ΡΠΈΠ»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ («Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ» ΡΡΠΎΠ²Π½Ρ) ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»ΠΈΡΠΊΠΎΠΌ «ΠΌΠ΅Π»ΠΊΠΈΡ » ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² — ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ°, ΡΠ°ΡΡΠ΅Ρ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΡ, Π²Π΅Π»ΠΈΠΊΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. Π Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Β· ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Β· ΠΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΊΡΠΎΠΌΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎ-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ).
Π‘++, Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
Β· C++ — ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ² ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ:
Β· ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΠΠ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΌΠ°ΠΊΡΠΎΡΡ).
Β· ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² «Π²ΡΠ΅Π³Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° Π, ΠΏΠΎΡΠΎΠΌ Π» ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΈ ΠΎΡΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΡΠ΅ΡΡΡΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΌΡ-Π»ΠΈΠ±ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° ifstream. Π€Π°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π±ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΠ²Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. Π‘++ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
Β· ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Β· ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ. ΠΠΎΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π½Π° ΡΠ·ΡΠΊΠ΅ C++ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ.
Β· ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. Π―Π·ΡΠΊ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ — ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Β· ΠΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ.
Β· ΠΡΡΠΎΠΊΠ°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Π‘, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π‘-ΠΊΠΎΠ΄ (ΠΊΠΎΠ΄ Π‘ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΠΊΠ°ΠΌΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π‘++; Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π‘, ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΠΈΠ· Π‘++ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΡΡΠ°Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° Π‘, Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Π‘++).
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Β· ΠΡΡΠ°ΡΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ C++ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ ΡΠ·ΡΠΊΠ°-ΠΏΡΠ΅Π΄ΠΊΠ° — Π‘ΠΈ, — ΠΈ Π²ΡΠ·Π²Π°Π½Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π‘ΠΈ. ΠΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠ°ΠΊ:
Β· Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΡΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ:
Β· ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ =, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ==. ΠΡ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡΡΠ°ΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ, Π° Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΡΠΈΠΊΠ»Π° ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π½Π° ΠΌΠ΅ΡΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ:
Β· if (x=0) { ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ }
Β· ΠΠ΄Π΅ΡΡ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x Ρ Π½ΡΠ»ΡΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΡΠ²ΠΎΠΈΡ x Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ if. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½ΡΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «Π»ΠΎΠΆΡ» (false), Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π°. ΠΡΠΈΠ±ΠΊΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΡΠ΄Π½ΠΎ Π²ΡΡΠ²Π»ΡΡΡ, Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
Β· ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ (=), ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (++), Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (—) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·ΡΠ²Π°Π΅Ρ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Π‘ΠΈ Π±ΡΠ»ΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ . Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ·ΡΠΊΠΎΠ² C ΠΈ C++ — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΡΠΈΠ»Π΅, Π° Π½Π΅ Π½Π°Π²ΡΠ·ΡΠ²Π°ΡΡ «Ρ ΠΎΡΠΎΡΠΈΠΉ» ΡΡΠΈΠ»Ρ.
Β· ΠΠ°ΠΊΡΠΎΡΡ (#define) ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠΌ, Π½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ. ΠΠ½ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² C++ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π½ΠΈΡ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, Π½Π΅ ΡΠ°ΠΊ ΡΠΆ Π²Π΅Π»ΠΈΠΊΠ°. Π ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π‘-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ².
Β· ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π½Π΅ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½Ρ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Π΄ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»Π°ΠΌΠΈ Π²ΡΠ΄Π°ΡΡ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Β· ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ break Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠΏΡΡΠΊΠ° break. ΠΡΠ° ΠΆΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ «ΡΡΡΠΊΠΈ», Π±Π°Π·ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π½Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ break ΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΡΡΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
Β· ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡ Π‘, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π΅Π½. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π»ΡΠ·Ρ (ΠΈΠ»ΠΈ ΡΡΠΆΠ΅Π»ΠΎ) ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ, Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΎΠ½ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΎΠ±Ρ ΠΎΠ΄Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Scheme ΠΈ Nemerle) ΠΈΠΌΠ΅ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΌΠ°Π»ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ Π‘/Π‘++).
Β· ΠΠ»ΠΎΡ Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈ (ΠΏΠΎ ΡΡΡΠΈ, Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π‘ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ·ΡΠΊΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ). ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΊΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (#include) ΡΠ΅ΡΡΡΠ·Π½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π΅Π»ΠΈΠΊ). ΠΡΠ° ΡΡ Π΅ΠΌΠ° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π° Π² C++. ΠΠ»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Precompiled Headers.
Β· Π ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ:
Β· Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ C++ ΡΡΡΠ΄Π½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ, Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ:
Β· Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π‘ΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ΅, Π½ΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°.
Β· ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΠΠ-ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ·ΡΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠ»Π°ΡΡ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° Π² ΡΡΠΈΠ»Π΅ C) ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Ρ. Π΅. Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ). ΠΠΎ ΡΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° dynamic_cast).
Β· Π¨Π°Π±Π»ΠΎΠ½Ρ Π² ΡΠ²ΠΎΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ°, Π° Π²Π²Π΅Π΄ΡΠ½Π½Π°Ρ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΠ·ΡΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΡΠ΄Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠ° ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ.
Β· ΠΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² C++ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ . ΠΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² C++ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½Π°, Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΄Π½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ. Π―Π·ΡΠΊΠΈ Lisp/Scheme, Nemerle ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠ΅ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ·ΡΠΊΠ΅ D ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ°Π²Π½ΠΈΠΌΠ°Ρ ΠΏΠΎ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠ°Ρ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Β· Π₯ΠΎΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π‘++ ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠ΅Π°Π»ΡΠ½ΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠ°ΡΡΠΈ, Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π» ΡΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ (Loki, Boost) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π»ΡΠΌΠ±Π΄/Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²), Π½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΡΠΏΠ°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠ°ΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ, Π²ΠΎΠΎΠ±ΡΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Β· ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ° C++ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² C++ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ΅Π΄ΡΡΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΠΎΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Π½Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° (Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π° Π½Π΅ ΡΠ·ΡΠΊΠ°). ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌΠΎΠΌΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.
ΠΠ·Π²Π΅ΡΠΈΠ² Π²ΡΠ΅ Π·Π° ΠΈ ΠΏΡΠΎΡΠΈΠ² Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΌΠΎΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠ°Π»ΡΡ ΡΠΎΠ»Ρ ΡΡΠ³ΡΠ°Π» ΡΠΎΡ ΡΠ°ΠΊΡ ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡ Π‘++.
2. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
2.1 ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π²ΡΠ±ΠΎΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌΡΠΌ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Intel 80×87. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ΅ΡΡΡ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ ΡΡΠ΅ΠΊΠ° ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΈΠ΄ΡΡΠΈΡ Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΡΡΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±ΠΈΡΠ°ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° bits, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.1
Π’Π°Π±Π»ΠΈΡΠ° 2.1
ΡΠΈΠΏ | ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | ΡΠ°Π·ΠΌΠ΅Ρ (Π±ΠΈΡ) | |
unsigned char | b0 | ||
unsigned char | b1 | ||
unsigned char | b2 | ||
unsigned char | b3 | ||
unsigned char | b4 | ||
unsigned char | b5 | ||
unsigned char | b6 | ||
unsigned char | b7 | ||
Π‘ΡΡΡΠΊΡΡΡΠ° bits ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½a Π² ΡΡΡΡΠΊΡΡΡ bait_tabΡ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.2
Π’Π°Π±Π»ΠΈΡΠ° 2.2
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
bits | bit | |
unsigned char | bait | |
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΌΠ°Π½ΡΠΈΡΡΡ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ°:
Π‘ΡΡΡΠΊΡΡΡΠ° ud16 Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.3
Π’Π°Π±Π»ΠΈΡΠ° 2.3
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
bait_tab | data[2] | |
short | val | |
Π‘ΡΡΡΠΊΡΡΡΠ° ud64 Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.4
Π’Π°Π±Π»ΠΈΡΠ° 2.4
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
bait_tab | data[8] | |
_int64 | val | |
Π‘ΡΡΡΠΊΡΡΡΠ° ud80 Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.5
Π’Π°Π±Π»ΠΈΡΠ° 2.5
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
ud64 | mant | |
ud16 | exp | |
Π ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ ΡΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ ΡΡΡΡΠΊΡΡΡΡ str Ρ ΠΏΠΎΠ»ΡΠΌΠΈ, ΠΏΡΠ΅ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.6
Π’Π°Π±Π»ΠΈΡΠ° 2.6
ΡΠΈΠΏΠ° | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
bait_tab | data[10] | |
ud80 | val | |
Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ.
Π‘ΡΡΡΠΊΡΡΡΠ° regs ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.7
Π’Π°Π±Π»ΠΈΡΠ° 2.7
ΡΠΈΠΏ | ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | ΡΠ°Π·ΠΌΠ΅Ρ (Π±ΠΈΡ) | |
unsigned | IE | ||
unsigned | DE | ||
unsigned | ZE | ||
unsigned | OE | ||
unsigned | UE | ||
unsigned | PE | ||
unsigned | SF | ||
unsigned | ES | ||
unsigned | C0 | ||
unsigned | C1 | ||
unsigned | C2 | ||
unsigned | TOP | ||
unsigned | C3 | ||
unsigned | B | ||
Π‘ΡΡΡΠΊΡΡΡΠ° _sreg Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.8
Π’Π°Π±Π»ΠΈΡΠ° 2.8
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
regs | data | |
unsigned short int | sreg | |
Π‘ΡΡΡΠΊΡΡΡΠ° _creg, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ:
Π’Π°Π±Π»ΠΈΡΠ° 2.9
ΡΠΈΠΏ | ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | ΡΠ°Π·ΠΌΠ΅Ρ (Π±ΠΈΡ) | |
unsigned | IM | ||
unsigned | DM | ||
unsigned | ZM | ||
unsigned | OM | ||
unsigned | UM | ||
unsigned | PM | ||
unsigned | PC | ||
unsigned | RC | ||
Π’Π°Π±Π»ΠΈΡΠ° 2.10
ΡΠΈΠΏ | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
unsigned short int | creg | |
Π‘ΡΡΡΠΊΡΡΡΠ° _twr, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ:
Π’Π°Π±Π»ΠΈΡΠ° 2.11
ΡΠΈΠΏ | ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | ΡΠ°Π·ΠΌΠ΅Ρ (Π±ΠΈΡ) | |
unsigned char | pr0 | ||
ΡΡΡΡΠΊΡΡΡΠ° _twr Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.12
Π’Π°Π±Π»ΠΈΡΠ° 2.12
ΡΠΈΠΏΠ° | Π½Π°Π·Π²Π°Π½ΠΈΠ΅ | |
unsigned short int | twr | |
2.2 ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΠ»Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠΎΠ²ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ°Π΅ΠΌ ΠΌΠ°Π½ΡΠΈΡΡΡ. ΠΠ°Π»Π΅Π΅ Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Π½ΡΠΈΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ 0.
2.3 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
int main () — Π³Π»Π°Π²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π½Π΅ΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡΡ FSUB.
int fld (str reg[],_sreg &sreg,_creg creg,_twr twr, int st0, int stimm) — Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
int print_st (str reg[],_sreg sreg,_creg creg,_twr twr, int id) — ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ 1-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ° ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
int fsub (str reg[],_sreg &sreg,_creg creg,_twr twr, int fl, int s1, int s2) — ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠΎΠ²ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°:
Π ΠΈΡ. 1. Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
3.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ FSUB ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π ΡΡΠ½ΠΊΡΠΈΠΈ void main (), Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΌΡΠ»ΡΡΠΎΡΠ° ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
1 — fsub
2 — fsub n
3 — fsub st (n), st (n)
4 — fld
0 — Π²ΡΡ ΠΎΠ΄ Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π΄Π΅Ρ 1, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΡΡΠ΅Ρ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, 2 — Π²ΡΡΡΠ΅Ρ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, 3 — ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ΅ΠΊΠ°, 4 — ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
3.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ FSUB
ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠΎΠΉ Π½Π° ΡΠΈΡ. 3.1.
Π ΠΈΡ. 3.1. ΠΠΈΡΡ 1
Π ΠΈΡ. 3.1. ΠΠΈΡΡ 2
3.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ FLD
ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠΎΠΉ Π½Π° ΡΠΈΡ. 3.2.
Π ΠΈΡ. 3.2. ΠΠΈΡΡ 1
Π ΠΈΡ. 3.2. ΠΠΈΡΡ 2
3.4 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Print_st
ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠΎΠΉ Π½Π° ΡΠΈΡ. 3.3.
Π ΠΈΡ. 3.3. ΠΠΈΡΡ 1
4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4.1 ΠΡΠ±ΠΎΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ² ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΠΌ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²:
ΠΠ»Π°Π½ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
1. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st1 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub
2. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ st0 ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ n ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub n
3. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st1 ΠΈ st5 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st1, st5
4. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st2 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st0, st2
5. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st3 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st0, st3
6. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st6 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st0, st6
7. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st7 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st0, st7
8. ΠΡΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ st0 ΠΈ st7 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fsub st0, st4
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ²: ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
twr =98B; swr =E; cwr =D
Π’Π°Π±Π»ΠΈΡΠ° 4.1
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 5,54 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 1 ΡΠ΅ΡΡΠ° (fsub) ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° 4.2
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | — 4,008 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 2 ΡΠ΅ΡΡΠ° (fsub n, n = -5000,52), ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° 4.3
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 9,9252 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 3 ΡΠ΅ΡΡΠ° (fsub st1, st5), ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° 4.4
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 4 ΡΠ΅ΡΡΠ° (fsub st0, st2).
twr =98B
swr =400E (ΡΠ»Π°Π³ IE = 1, DE = 1)
cwr =D
Π’Π°Π±Π»ΠΈΡΠ° 4.5
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 5 ΡΠ΅ΡΡΠ° (fsub st0, st3), ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ.
Π’Π°Π±Π»ΠΈΡΠ° 4.6
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 6 ΡΠ΅ΡΡΠ° (fsub st0, st6); twr =98B; swr =600E (ΡΠ»Π°Π³ IE = 1)
cwr =D
Π’Π°Π±Π»ΠΈΡΠ° 4.7
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 7 ΡΠ΅ΡΡΠ° (fsub st0, st7).
twr =98B
swr =410E (ΡΠ»Π°Π³ IE = 1, SF = 1)
cwr =D
Π’Π°Π±Π»ΠΈΡΠ° 4.8
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠΎΡΠ»Π΅ 8 ΡΠ΅ΡΡΠ° (fsub st0, st4).
twr =98B
swr =600E (ΡΠ»Π°Π³ IE = 1)
cwr =D
Π’Π°Π±Π»ΠΈΡΠ° 4.9
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° | ΠΠ°Π½ΡΠΈΡΡΠ° | ΠΠΎΡΡΠ΄ΠΎΠΊ | |
St0 | 8,7952 | ||
St1 | 4,562 | ||
St2 | Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ | ||
St3 | |||
St4 | Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ | ||
St5 | 1,12 | ||
St6 | Π½Π΅ΡΠΈΡΠ»ΠΎ | ||
St7 | ΠΏΡΡΡΠΎ | ||
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ, Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° fsub, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Ρ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΌΡΠ»ΡΡΠΈΠΈ 3 ΡΠ΅Π³ΠΈΡΡΡΠ°. Π Π΅Π³ΠΈΡΡΠΎΡ ΡΠ΅Π³ΠΎΠ², ΡΠ΅Π³ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
ΠΡΠ»Π° ΠΈΠ·ΡΡΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° 80×87 ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΡΡΠΎ Π΄ΠΎ Π½Π΅ Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±ΡΠ»ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ «ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°» .
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π. 1. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
#include
#include
#include
struct bits
{
unsigned char b0: 1;
unsigned char b1: 1;
unsigned char b2: 1;
unsigned char b3: 1;
unsigned char b4: 1;
unsigned char b5: 1;
unsigned char b6: 1;
unsigned char b7: 1;
};
union bait_tab
{
bits bit;
unsigned char bait;
};
struct regs
{
unsigned IE: 1; // ΠΡΠΈΠ±ΠΊΠ° Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ;
unsigned DE: 1; // ΠΡΠΈΠ±ΠΊΠ° Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°;
unsigned ZE: 1; // ΠΡΠΈΠ±ΠΊΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ»Ρ;
unsigned OE: 1; // ΠΡΠΈΠ±ΠΊΠ° Π°Π½ΡΠΈΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
unsigned UE: 1; // ΠΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
unsigned PE: 1; // ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΡΠ½ΠΎΡΡΠΈ;
unsigned SF: 1; // ΠΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ΅ΠΊΠΎΠΌ;
unsigned ES: 1; // ΠΠΈΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ;
unsigned C0: 1; // ΠΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (Condition Code);
unsigned C1: 1; // ΠΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (Condition Code);
unsigned C2: 1; // ΠΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (Condition Code);
unsigned TOP:3; // Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°;
unsigned C3: 1; // ΠΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (Condition Code);
unsigned B: 1; // ΠΠΈΡ Π·Π°Π½ΡΡΠΎΡΡΠΈ.
};
union _sreg
{
regs data;
unsigned short int sreg;
};
union _creg
{
struct
{
//ΠΌΠ°ΡΠΊΠΈ
unsigned IM: 1; // ΠΠ°ΡΠΊΠ° Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ;
unsigned DM: 1; // ΠΠ°ΡΠΊΠ° Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°;
unsigned ZM: 1; // ΠΠ°ΡΠΊΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ»Ρ;
unsigned OM: 1; // ΠΠ°ΡΠΊΠ° Π°Π½ΡΠΈΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
unsigned UM: 1; // ΠΠ°ΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
unsigned PM: 1; // ΠΠ°ΡΠΊΠ° ΡΠΎΡΠ½ΠΎΡΡΠΈ;
unsigned PC: 2; // ΠΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΡΡΡΡ;
unsigned RC: 2; // ΠΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ΠΌ.
} data;
unsigned short int creg;
};
union _twr
{
struct
{
unsigned char pr0:2;// 00 — Π·Π°Π½ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π½Π΅ Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
//unsigned char pr1:2;// 01 — ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
//unsigned char pr2:2;// 10 — ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
//unsigned char pr3:2;// 11 — ΡΠ΅Π³ΠΈΡΡΡ ΠΏΡΡΡ
//unsigned char pr4:2;
//unsigned char pr5:2;
//unsigned char pr6:2;
//unsigned char pr7:2;
} data[8];
unsigned short int twr;
};
union ud16
{
bait_tab data[2];
short val;
};
union ud32
{
bait_tab data[4];
int val;
};
union ud64
{
bait_tab data[8];
_int64 val;
};
struct ud80
{
ud64 mant;
ud16 exp;
};
union str
{
bait_tab data[10];
ud80 val;
};
int fld (str reg[],_sreg &sreg,_creg creg,_twr twr, int st0, int stimm);
int print_st (str reg[],_sreg sreg,_creg creg,_twr twr, int id);
int fsub (str reg[],_sreg &sreg,_creg creg,_twr twr, int fl, int s1, int s2);
int main ()
{
str reg[9]={};
_sreg sreg;
_creg creg;
_twr twr;
setlocale (LC_ALL," Russian");
int d = -1;
sreg.sreg = 0;
creg.creg = 0;
sreg.data.TOP = 7;
creg.data.PC = 3;
twr.twr = 0xffff;
memset (reg, 0, sizeof (reg));
while (d ≠ 0)
{
printf («1 — fsubn2 — fsub nn3 — fsub st (n), st (n)n4 — fldn0 — Π²ΡΡ ΠΎΠ΄n»);
scanf («%d» ,&d);
switch (d)
{
case 1:// fsub========================================================================================
fsub (reg, sreg, creg, twr, 1,0,0);
//print_st (reg, sreg, creg, twr, 0);
break;
case 2:
printf («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄: n»);
fld (reg, sreg, creg, twr, 0,9);
print_st (reg, sreg, creg, twr, 0);
break;
case 3:
int s1;
int s2;
printf («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ: n»);
scanf («%d %d» ,&s1,&s2);
//fld (reg, sreg, creg, twr, s1,0);
//fld (reg, sreg, creg, twr, s2,0);
fsub (reg, sreg, creg, twr, 1, s1,s2);
break;
case 4:
printf («ΠΠΎΠ±ΠΎΠ²Π»Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΊ: n»);
fld (reg, sreg, creg, twr, 0,0);
break;
}
}
}
int fld (str reg[],_sreg &sreg,_creg creg,_twr twr, int st0, int stimm)
{
short p = 0;
char l[10];
_int64 i = 0;
scanf («%s» ,&l);
for (int m = 0; m <= strlen (l); m++)
{
if ((l[m] == '0')&&(p <= 0))
{
p—;
}
else
{
if ((i == 0)&&(l[m] ≠ ','))p++;
}
if (l[m] == ',')
{
for (int e = m; e < strlen (l); e++)
{
l[e] = l[e+1];
}
char* ends;
i = strtol (l,&ends, 10);
if (l[m] ≠ '0')break;
}
}
/*if (p > 0)
{p++;}
else
{p—;}*/
if (i ≠ 0)
{
twr.data[st0]. pr0 &= 0;
}
else
twr.data[st0]. pr0
p—;
if (stimm == 0)
{
if (st0 ≠ 0)
{
reg[st0]. val.mant.val = i;
reg[st0]. val.exp.val = p;
}
else
{
reg[sreg.data.TOP]. val.mant.val = i;
reg[sreg.data.TOP]. val.exp.val = p;
sreg.data.TOP =sreg.data.TOP — 1;
}
}
else
{
reg[8]. val.mant.val = i;
reg[8]. val.exp.val = p;
fsub (reg, sreg, creg, twr, 2,0,0);
}
return 0;
}
int print_st (str reg[],_sreg sreg,_creg creg,_twr twr, int id)
{
int ssn;
if (id ≠ 0)
{
ssn = id;
}
else
{
ssn = sreg.data.TOP;
}
double a = (double)reg[ssn]. val.mant.val;
short b = reg[ssn]. val.exp.val;
for (int i = 0; i <= abs (b); i++)
{
a /=10;
}
printf («%10.5fn», a);
return 0;
}
int fsub (str reg[],_sreg &sreg,_creg creg,_twr twr, int fl, int s1, int s2)
{
_int64 a;
short am;
_int64 b;
short bm;
int sn1;
int sn2;
if (fl == 1)
{
if ((s2 == 0)&&(s1 == 0))
{
//sn1 = sreg.data.TOP + 2;
//sn2 = sreg.data.TOP + 1 ;
sn1 = 7;
sn2 = 6;
}
else
{
sn1 = sreg.data.TOP + s1;
sn2 = sreg.data.TOP + s2;
}
a = reg[sn1]. val.mant.val;
am = reg[sn1]. val.exp.val;
b = reg[sn2]. val.mant.val;
bm = reg[sn2]. val.exp.val;
}
else
{
a = reg[sreg.data.TOP +1]. val.mant.val;
am = reg[sreg.data.TOP +1]. val.exp.val;
b = reg[8]. val.mant.val;
bm = reg[8]. val.exp.val;
}
short dm = am — bm;
if (a > b)
{
for (int i = 0; i < dm; i++)
{
a *= 10;
}
//reg[sn1]. val.exp.val+=dm;
}
else
{
for (short n = 0; n <= (-1)*dm; n++)
{
b *= 10;
}
if (fl == 1)
{
reg[sn1]. val.exp.val += (-1)*dm;
}
else
{
reg[sreg.data.TOP +1]. val.exp.val += (-1)*dm;
}
}
a-= b;
//printf («%dn», a);
if (fl == 1)
{
reg[sn1]. val.mant.val = a;
//sreg.data.TOP+=2;
print_st (reg, sreg, creg, twr, sn1);
}
else
{
reg[sreg.data.TOP]. val.mant.val = a;
//sreg.data.TOP+=1;
}
return 0;
}