ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²
ΠΠ±ΠΌΠ΅Π½ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ XCHG, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ 2-Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±Π°ΠΉΡΠ°). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΎΠ±ΠΌΠ΅Π½ N Π±Π°ΠΉΡΠΎΠ², Π³Π΄Π΅ N — Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊ. Π Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ N Π±ΡΠ΄Π΅Ρ Π±ΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° R0. ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² String1, String2 (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅ΠΌ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ² (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΠΊΠΈ Π Π€ Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠΆΠ΅Π²ΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΈ Π. Π’. ΠΠ°Π»Π°ΡΠ½ΠΈΠΊΠΎΠ²Π° ΠΠ°ΡΠ΅Π΄ΡΠ° «ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ°» .
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΊΡΡΡΡ «Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ» .
Π½Π° ΡΠ΅ΠΌΡ: «ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²» .
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΡΡΠ΄Π΅Π½Ρ Π³ΡΡΠΏΠΏΡ 4−36−1.
ΠΠ°ΡΠΈΠ»ΡΠ΅Π² Π.Π‘.
ΠΡΠΈΠ½ΡΠ» ΠΊ.Ρ.Π½., Π΄ΠΎΡΠ΅Π½Ρ ΠΊΠ°ΡΠ΅Π΄ΡΡ ΠΠ’ ΠΠ°ΡΠ°ΡΠΎΠ² Π .Π.
ΠΠΆΠ΅Π²ΡΠΊ 2012.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ.
2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
3. ΠΠ»Π³ΠΎΡΠΈΡΠΌ.
4. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ.
5. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠ²ΠΎΠ΄ ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ.
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ.
Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠ°Π΄Π°Π½ΠΈΠ΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ:
1. Π€ΠΎΡΠΌΠ°Ρ ΡΠ»ΠΎΠ²Π°: fw=24 Π±ΠΈΡ.
2. Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Nr=3.
3. Π€ΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΠ: Fk = {S1,S2; S, I}.
4. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅: Nop=2.
5. ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΠ Π΄Π»Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
k1: ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ 2-Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Π½Π° >,=,<;
k2: ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ;
k3: ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
6. Π Π΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π½Π° Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅:
Π Π°ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ»ΠΎΠ²Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠ±ΡΠ°Π² Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² ΡΠ»ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
1) ΠΠ»ΠΎΡ ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ²ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
2) ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ;
3) ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΈ Π±Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ΡΠ΅ΡΠ°Π΅ΠΌΡΠΌΠΈ. ΠΠΎ ΡΠ·ΡΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΡΠ²Π»ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠΎΠ΄ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ², ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅ΠΊΡΡΠΎΠΌ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ «ΡΡΠ΅Π½ΠΎΠ³ΡΠ°ΠΌΠΌΡ» ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ «ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠ°Π½Π΄Ρ», ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π³ΡΡΠΆΠ°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΎΡ ΡΠ°ΡΡΠΈ Π»ΠΈΡΠ½Π΅ΠΉ ΠΈ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π±Π»ΠΎΠΊΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Π Π΅ΡΠ°Ρ Π·Π°Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΡΠ°ΠΌΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ Π²ΡΡΠ°ΠΆΠ°Π»ΠΎ Π±Ρ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ. Π’.ΠΊ. Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠΊ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ°Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ, ΡΠΎ Π²ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ LOCAL.
ΠΠ°Π»Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π΅ ΠΈΡΠΊΠ°ΠΆΠ°Π» Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ° ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ΅, Π° ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ 2-Π° ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π² ΡΡΠ΅ΠΊ.
ΠΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΠ΅. ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ Π½Π° Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠΈΡΡ.
Π Π°Π·ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ Π½Π° 3-ΠΈ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ:
1. ΠΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ.
2. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
3. ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΠ΅ΡΠ²ΡΡ ΠΈ ΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠΈΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. Π Π²ΡΠΎΡΡΡ Π·Π°Π΄Π°ΡΡ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΠ»ΠΎΠ², ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ½ΠΈΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ»ΠΎΠ²Π°Ρ . Π’.ΠΎ. ΡΠ°Π·Π±ΠΈΠ»ΠΈ 2-ΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΡ Π΅ΡΠ΅ Π½Π° ΡΡΠΈ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ ΠΈ ΡΡΠΈ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, Π½ΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΆΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π΅Π΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
ΠΠ΅ΡΠ²ΡΠΉ Π±Π°ΠΉΡ — Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ Π² Π±Π°ΠΉΡΠ°Ρ .
ΠΡΠΎΡΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±Π°ΠΉΡΡ — ΡΠ°ΠΌΠ° ΡΡΡΠΎΠΊΠ°.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±Π°ΠΉΡ — ΡΠΈΠΌΠ²ΠΎΠ» «$» ΠΊΠ°ΠΊ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ· 250 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ..
ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 8 Π±ΠΈΡ, Ρ. Π΅. ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. Π’Π°ΠΊ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡ R0. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ²Π°, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»ΡΡ .
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°Π΄Π°ΡΠ° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΈ ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ 3-ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ..
1. Π‘ΡΠ°Π²Π½ΠΈΡΡ 2-Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΊΡΠΎΡ CompareWords String1, String2.
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CMPS (Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ Π΄Π»ΠΈΠ½Ρ, ΡΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π°.
ΠΠ΄ΡΠ΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡ SI ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π½Π΅ΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΠΌ Π² DI Π°Π΄ΡΠ΅Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°.
Π’.ΠΊ. ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΠΏΠΎΡΠΊΡ Π±Π°ΠΉΡ, ΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CMPSB.
ΠΠ°Π»Π΅Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ»Π°Π³ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΌΠ΅ΡΠΊΡ.
2. ΠΠ±ΠΌΠ΅Π½ Π΄Π²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ. ΠΠ°ΠΊΡΠΎΡ ChangeWords String1, String2.
ΠΠ±ΠΌΠ΅Π½ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ XCHG, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ 2-Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±Π°ΠΉΡΠ°). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΎΠ±ΠΌΠ΅Π½ N Π±Π°ΠΉΡΠΎΠ², Π³Π΄Π΅ N — Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊ. Π Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ N Π±ΡΠ΄Π΅Ρ Π±ΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° R0. ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² String1, String2 (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅), ΡΠΈΡΠ»Π° ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠΈΡΡΡΠΏΠ°Π΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΎΠ±ΠΌΠ΅Π½Ρ ΠΏΡΡΠ΅ΠΌ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ XCHG Π½Π° R0 ΡΠ°Π·. ΠΡΠ±ΠΎΡ R0 Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΡΠΎΡ ΡΠ΅Π³ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π½ΠΈΠΆΠ΅.
3. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π°. ΠΠ°ΠΊΡΠΎΡ WriteLenWords.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° ΡΠ»ΠΎΠ²Π°, Π·Π°Π²Π΅ΡΡΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π±ΡΠΊΠ², Π° Π·Π°ΡΠ΅ΠΌ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΡΡΠΎΠΊΡ ΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊ, ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½ΡΠ° ΡΠ»ΠΎΠ²Π° (Π·Π½Π°ΠΊ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ). Π ΡΡΠ΅ΡΡΠΈΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ²Π°. ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
ΠΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ°Π»ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π² ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΡ ΡΠ°Π·Π±ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
1. ΠΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ.
ΠΠ²ΠΎΠ΄ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ DOS Π²Π²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Π΅ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ Π²ΠΈΠ΄Ρ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ» «$», Π° Π² Π½Π°ΡΠ°Π»ΠΎ — Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΡΡΠΎΠΊΠΈ.
2. ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ DOS.
3. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
ΠΡΠ° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ. Π‘ Ρ ΠΎΠ΄Ρ Π΅Π΅ Π½Π΅ ΡΠ΅ΡΠΈΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π΅Π΅ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ:
— Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ².
— Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ½ΠΈΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
— ΠΠ°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ.
ΠΠ°Π΄Π°ΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΠΈΡ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π·Π°Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΠΉ. ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ DeleteSign. Π Π΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΠΉ ΠΈ Π·Π°ΡΠ΅ΠΌ «ΡΠ΄Π°Π»Π΅Π½ΠΈΡ» ΠΈΡ ΠΏΡΡΡΠΌ Π·Π°ΡΠΈΡΠ°Π½ΠΈΡ Π±ΡΠΊΠ²Π°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π° ΡΡΠΈΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π±Π°ΠΉΡΠ΅ ΡΡΡΠΎΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΏΡΡΠΎΠΉ, Ρ.ΠΊ. ΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π·Π°Π΄Π°Π½ΠΈΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΡΠΈΡΠ°Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Ρ Π±Π°ΠΉΡΡ Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ Π½Π° ΠΌΠ΅ΡΡΠΎ Π±Π°ΠΉΡΠΎΠ² Ρ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡΠΌΠΈ.
Π’Π°ΠΊΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ MOVSB ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π’.ΠΎ. ΠΊΠΎΠΌΠ°Π½Π΄Π° DeleteSign ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ:
ΠΠ°ΠΉΡΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°.
ΠΠ°ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ.
ΠΠ°ΠΉΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
ΠΠ°ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ.
ΠΠΎΠ²ΡΠΎΡΡΡΡ ΠΏ. 4 ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. ΠΠ΅Π±ΠΎΠ»ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ. Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎ Π²ΡΡΠ°Π²ΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΡΡΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅ΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΡ ΠΎΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΠΈ Π½Π°Ρ ΠΎΠ΄Ρ ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π° Π²ΡΡΠ°Π²Π»ΡΡΡ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΠΊΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ. Π΅. ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ° R0 ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ· Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ XLAT. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎ Π΅ΡΡΡ Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° — ΡΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»Π° 16-ΠΎΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΈΡΡ, ΡΠΎ ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»Π΅Π½.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ (ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΠΊΡΠΎΡΠ΅ WriteLenWords) Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»Π° Π² 10-ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΡΠ΅. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ»ΠΈ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² R0 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΎΡ 0 Π΄ΠΎ 9, ΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΌΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠ±Π°Π²ΠΈΠ² ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ R0 ΡΠΈΡΠ»ΠΎ 4810 ΠΈΠ»ΠΈ 3016. Π’ΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ASCII ΠΊΠΎΠ΄ ΡΠΈΡΠ»Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π² R0 ΡΠΈΡΠ»ΠΎ 2-ΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠ΅ ΡΠ°Π·ΡΡΠ΄ΠΎΠ², ΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π½ΠΎ Π½Π΅ Π΄Π΅ΡΡΡΠΊΠΈ, ΡΠΎΡΠ½ΠΈ ΠΈ Ρ. Π΄. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ «Π²ΡΠ΄Π΅Π»ΠΈΡΡ» ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π΄Π΅ΡΡΡΠΊΠΈ, ΡΠΎΡΠ½ΠΈ ΠΈ Ρ. Π΄. (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΈ ΠΈ ΡΠΎΡΠ½ΠΈ, Ρ.ΠΊ. Π²ΡΡ ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 250 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 3 Π·Π½Π°ΠΊΠ°).
Π Ρ.ΠΊ. ΡΠΈΡΠ»Π° Π² 10-ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΊ:
Xn*10^N+…+X2*102+X1*101+X0*100=Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π³Π΄Π΅ Π₯n — Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π² N — ΠΎΠΌ ΡΠ°Π·ΡΡΠ΄Π΅.
N — ΡΠ°Π·ΡΡΠ΄.
ΡΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠ΅ΠΌ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° 1, 10 ΠΈ 100 ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π² ΠΎΡΡΠ°ΡΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ Xn. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ±Π°Π²Π»ΡΡ ΠΊ Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ 3016 ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° — ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ «ΠΏΡΠ·ΡΡΡΠΊΠ°». Π‘Π°ΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΌΠ°ΠΊΡΠΎΡΠ΅ Sorting. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌ ΠΌΠ°ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ², Ρ. Π΅. Π·Π°Π΄Π°ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΡ ΡΠ°Π·Π±ΠΈΠ»ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
While Flag do.
Begin.
Flag:= false;
For i:=1 to (N-1) do.
if Word[i] > Word[i+1] then.
Begin.
ChangeWords Word[i], Word[i+1];
Flag:= true.
End;
End.
ΠΠ΄Π΅ N — ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΡΠ»ΠΎΠ²).
Flag — ΡΠ»Π°Π³ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° (Π΅ΡΠ»ΠΈ Π²ΡΠ΅ «ΠΏΡΠ·ΡΡΠΊΠΈ Π²ΡΠΏΠ»ΡΠ»ΠΈ»).
Word — ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΡΠΎΠΊΠΈ (ΡΠ»ΠΎΠ²Π°).
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ — ΡΠ»ΠΎΠ²Π°ΠΌ, Π° ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»ΠΎΠ², Ρ.ΠΊ. ΡΠ»ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ChangeWords Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½ ΡΠ»ΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΡΡ ΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»ΠΎΠ². ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΡΠΎ ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠΈΠ² ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΠΎΡΠΎΠ΄ΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²Π²Π΅ΡΡΠΈ Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ: ΡΠ΄Π°Π»ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Π»ΠΈΡΠ½ΠΈΠ΅ Π±ΡΠΊΠ²Ρ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ — Π² ΡΡΡΠΎΠΊΠ΅ Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° «ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ» ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΠ»ΠΎΠ² ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ. ΠΠ»ΠΈΠ½Π° ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π²Π½Π° Π΄Π»ΠΈΠ½Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΠ΅. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π΅ Π½Π°Π΄ΠΎ. ΠΡΠΈΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΡ Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ:
— ΠΠ΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
— ΠΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»ΠΎΠ².
— ΠΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠ»ΠΎΠ²Π°ΠΌ) Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡΡ, Ρ.ΠΊ. Π΄Π»ΠΈΠ½Π° Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΡΡΡΠΎΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ ToOneSize.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ ΡΠ΄Π²ΠΈΠ³Π° Π²ΠΏΡΠ°Π²ΠΎ ΡΡΡΠΎΠΊΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎΠ΅ (Π΄Π»ΠΈΠ½Π° max ΡΠ»ΠΎΠ²Π°-Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²Π°), ΡΡΠΈΠΌ ΠΌΡ ΠΏΡΠΈΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΅ Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ΄Π²ΠΈΠ³Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΡΠ±Π»ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΏΡΡΠΎΠΉ ΠΈ Π½Π΅Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ «ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°» .
Π‘Π΄Π²ΠΈΠ³ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ ShiftRight offset. ΠΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΄Π²ΠΈΠ³Π°. ΠΠ°Π»Π΅Π΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ Π±Π°ΠΉΡΠΎΠ² ΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ MOVSB, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π²ΠΈΠ³ Π½Π° ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ Π²ΠΏΡΠ°Π²ΠΎ.
ΠΠ»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΌΠ°ΠΊΡΠΎΡ FindMaxLen. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΡ — ΠΎΠ½ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΡ ΡΡΠΈΡΠ°Ρ Π΄Π»ΠΈΠ½Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ Π΅Ρ Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²Π° Π±ΠΎΠ»ΡΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΡΠΎ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ. ΠΠ°Π»Π΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ R0 ΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎ 5. 5 — ΡΡΠΎ ΡΠΈΡΠ»ΠΎ 3-Ρ ΡΠΈΡΡ ΠΈ 2-Ρ ΡΠΊΠΎΠ±ΠΎΠΊ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½Ρ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠΊΠ°Π»Π΅Π²ΡΠΊΠΈΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈ ΡΠ»Π°Π³ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠΉΡΡ Π² 1 Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΌΠ΅Π½, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ «ΠΏΡΠ·ΡΡΡΠΊΠΈ Π²ΡΠΏΠ»ΡΠ»ΠΈ» ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π±ΡΠ΄ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π 1 ΠΈ Π 2 (ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ, Π½ΠΎ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ 2-Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π°Π³Π° Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Flag ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π΅ Π² 1 ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ P1 Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, Π° Π 2 Π½Π° Π²ΡΠΎΡΠΎΠ΅ (Π 1+R0 Ρ.ΠΊ. Π² R0 Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°). ΠΠ°Π»Π΅Π΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ»ΠΎΠ²Π° ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΠΌΠ΅Π½ Π»ΠΈΠ±ΠΎ ΠΈΡΠ΅ΠΌ Π΄Π°Π»ΡΡΠ΅. ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π²ΠΈΠ½ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π 1 ΠΈ Π 2 Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΠ°ΡΡ ΡΠ»ΠΎΠ², Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π 1 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π 2, Π° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π 2 ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ R0. ΠΠ°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ, Ρ.ΠΊ. Π 2 ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π½ΡΡΠ΅ ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π΅ ΡΡΠΎΠΈΡ Π»ΠΈ Π 2 Π½Π° ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ TestEnd offset. ΠΠ½ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ «$». ΠΡΠ»ΠΈ Π 2 ΡΡΠΎΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π»ΠΈ Π»ΠΈ Π·Π° ΡΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΌΠ΅Π½, Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ «Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΡΠ·ΡΡΡΠΊ» ΠΈΠ½Π°ΡΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
BeginProg — ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΠΌ.
EndProg — Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ DOS ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
PushReg — Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΠ°Π·Π°Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
PopReg < Registers list > - ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΠ°Π·Π°Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
ReadString string — Π§ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
WriteString string — ΠΡΠ²ΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΈΡ ΡΠ°Π±ΠΎΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°Π±ΠΎΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ReadString MyString, Π³Π΄Π΅ MyString — Π½Π°ΡΠ° ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ°Π»Π΅Π΅ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ, ΡΠ΄Π°Π»ΠΈΠΌ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ DeleteSign. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΡΡΡΠΎΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π½Π°ΠΉΠ΄Π΅ΠΌ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° (ΠΊΠΎΠΌΠ°Π½Π΄Π° FindMaxLen) ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ (ΠΊΠΎΠΌΠ°Π½Π΄Π° ToOneSize). Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π° (ΠΊΠΎΠΌΠ°Π½Π΄Π° Sorting). ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² (ΠΊΠΎΠΌΠ°Π½Π΄Π° WriteLenWords). ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΡΡΠ°Π»ΠΈΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ, Π·Π΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ DeleteSign. ΠΠ°Π΄Π°ΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠ΅Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
3. ΠΠ»Π³ΠΎΡΠΈΡΠΌ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ «Π»ΠΈΡΠ½ΠΈΡ » Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π° Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ² ΠΊ «ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ» .
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ Π΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ «Π»ΠΈΡΠ½ΠΈΡ » Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
ΠΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
4. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ°ΠΉΠ»Π° Course. exe Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ «ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ:» Π½Π°Π±ΠΈΡΠ°Π΅ΠΌ:
apple, melon astrachansky, african banana, armenian peachs are fruits.
" ΠΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: «.
african[007], apple[005], are[003], armenian[008], astrachansky[012], banana[006], fruits[006], melon[005], peachs[006],.
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
5. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
;///////////////////////////////////////////////////////////////////////////////////////////.
:// ΠΠΈΡΡΠΈΠ½Π³ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
;//Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ² Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
;///////////////////////////////////////////////////////////////////////////////////////////.
INCLUDE Macros. inc ;ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ².
InitRealComputer; Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΠΠ.
; Π΄Π²Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΠΠ.
CODE SEGMENT ;ΠΠ°ΡΠ°Π»ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°.
START ;ΠΠΠ§ΠΠΠ ΠΠ ΠΠΠ ΠΠΠΠ«.
WriteString MessageIn ;ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ.
ReadString MyString ;ΠΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
DeleteSign ;Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ «Π»ΠΈΡΠ½ΠΈΡ » Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
FindMaxLen ;ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π° Ρ MAX Π΄Π»ΠΈΠ½ΠΎΠΉ.
ToOneSize ;ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ.
Sorting ;Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ².
WriteLenWords ;ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°.
;ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
DeleteSign ;Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ «Π»ΠΈΡΠ½ΠΈΡ » Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
;ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ.
WriteString MessageOut ;ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
Writestring MyString ;ΠΡΠ²ΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
FINISH ;ΠΠΠΠΠ¦ ΠΠ ΠΠΠ ΠΠΠΠ«.
CODE ENDS ;ΠΠΎΠ½Π΅Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°.
DATA SEGMENT ;ΠΠ°ΡΠ°Π»ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ .
MessageIn db 15, 'ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ:', '$' ;Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅-'ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅'.
MessageOut db 20, 'ΠΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°:', '$' ;Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅-'Π‘ΡΡΠΎΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°'.
MyString db 249 dup (0), '$' ;Π‘ΡΡΠΎΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
R0 db 0h; Π Π΅Π³ΠΈΡΡΡΡ.
R1 db 0h; ΠΎΠ±ΡΠ΅Π³ΠΎ.
R2 db 0h; Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Flag db 0h ;Π€Π»Π°Π³ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
P1 db 0h ;ΠΠ΅ΡΠ²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»ΠΎΠ²ΠΎ.
P2 db 0h ;ΠΡΠΎΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»ΠΎΠ²ΠΎ.
DATA ENDS ;ΠΠΎΠ½Π΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ .
END.
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.
;\ ΠΠΈΡΡΠΈΠ½Π³ ΠΌΠ°ΠΊΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Course. asm ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.
InitRealComputer MACRO.
.286.
fw = 24; ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ ΡΠ»ΠΎΠ²Π° ΠΠ; fw = 8.255.
fb = 8; ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ Π±Π°ΠΉΡΠ°.
EndLine EQU 10,13,'$'; ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅.
EndSTR EQU ' ','$'; ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
ENDM.
;——————————————————————————————-;
CONSTsection MACRO.
ENDM.
;——————————————————————————————-;
STACKsection MACRO n; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°.
Stack1 SEGMENT STACK.
dw n*kByte dup (?).
Stack1 ENDS.
ENDM.
;——————————————————————————————-;
DATAsection MACRO; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ .
Data1 SEGMENT.
ENDM.
;——————————————————————————————-;
ENDdata MACRO; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ .
Data1 ENDS.
ENDM.
;——————————————————————————————-;
CODEsection MACRO; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°.
Code1 SEGMENT.
ENDM.
;——————————————————————————————-;
FINISH MACRO; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ret.
COURSE endp.
ENDM.
;——————————————————————————————-;
ENDcode MACRO; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°.
Code1 ENDS.
END COURSE.
ENDM.
;********ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ**********************************.
START Macro.
assume cs: code, ds: data ;ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
mov ax, data ;
mov ds, ax ;Π DS-Π°Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ .
EndM.
;********ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ************************************.
FINISH Macro.
mov ax, 4C00h ;Π€ΡΠ½ΠΊΡΠΈΡ DOS.
int 21h ;ΠΠ°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
EndM.
;********Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠ·ΡΡΡΠΊΠ°'**************************.
Sorting macro.
Local Mbegin, MCMP, MNext, MExit, m0.
pushreg < ax, bx > ;Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
mov al, R0 ;AL=R0 (Π R0 Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°).
inc al ;ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π½Π°ΠΊ ', '.
mov Flag, 1 ;ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»Π°Π³Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»ΠΎΠ².
Mbegin: ;
Cmp Flag, 1 ;ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π»ΠΈ ΡΡΡΠΎΠΊΠΈ?
je m0 ;ΠΠ°ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ.
jmp far ptr MExit ;ΠΠ΅Ρ-ΠΡΡ ΠΎΠ΄.
m0: mov Flag, 0 ;
mov P1, 1 ;ΠΠ°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ².
;ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΡ .
mov P2, 1 ;ΡΠ»ΠΎΠ².
add P2, al ;
MCMP: TestEnd P2 ;Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π 2 Π½Π° ΠΊΠΎΠ½Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ?
je MBegin ;ΠΠ° -'ΠΏΡΠ·ΡΡΠ΅ΠΊ Π²ΡΠΏΠ»ΡΠ»', ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ.
;ΠΠ΅Ρ;
CompareWords P1, P2; ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ»ΠΎΠ²Π°.
jbe MNext; Π΅ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ, ΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ.
; ΠΈΠ½Π°ΡΠ΅.
mov bl, P2 ;
mov bh, P1 ;
ChangeWords bh, bl; ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π° ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
mov ah, P2; P2 Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
mov P1, ah; P1=P2.
add P2, al ;
mov Flag, 1; Π€Π»Π°Π³ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ.
jmp MCMP; ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ.
MNext:
mov ah, P2 ;P2 Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
mov P1, ah ;P1=P2.
add P2, al ;
jmp MCMP ;ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ.
MExit: ;ΠΡΡ ΠΎΠ΄.
popreg < bx, ax > ;ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
EndM.
;********ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ****************************.
TestEnd macro ofset.
pushreg ;Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
lea si, MyString ;ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° ΡΡΡΠΎΠΊΠΈ.
xor bx, bx ;ΠΡΠΈΡΡΠΊΠ° BX.
mov bl, ofset ;ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
add si, bx ;
cmp byte ptr[si], '$' ;CΡΠ°Π²Π½ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ°.
popreg ;ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
EndM.
;********Π‘Π΄Π²ΠΈΠ³ ΡΡΡΠΎΠΊΠΈ Π²ΠΏΡΠ°Π²ΠΎ*************************************.
ShiftRight macro ofset.
pushreg.
mov bx, ofset ;Π‘ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ΄Π²ΠΈΠ³Π°ΡΡ.
dec bx.
lea di, MyString ;ΠΠ΄ΡΠ΅Ρ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
mov si, di ;
inc di ;
xor ch, ch ;
mov cl, byte ptr[si] ;ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ.
inc cx ;
mov byte ptr[si], cl ;Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ, Ρ.ΠΊ.ΡΠ΄Π²ΠΈΠ½Π΅ΠΌ Π΅Π΅.
; Π²ΠΏΡΠ°Π²ΠΎ.
add di, cx ;ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ DI ΠΈ SI.
add si, cx ;
sub cx, bx ;ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
push ds ;CΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
pop es ;DS ΠΈ ES.
std.
rep movsb ;Π‘Π΄Π²ΠΈΠ³ ΡΡΡΠΎΠΊΠΈ.
popreg ;
EndM.
;******ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ «ΡΠ°Π·ΠΌΠ΅ΡΡ» *********************.
ToOneSize macro.
local tos0, tos1, tos2, tos3, tosend.
pushreg.
lea si, MyString ;ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
mov dh, byte ptr[si] ;ΠΠ»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ.
inc si ;
mov di, si ;ΡΡΡΠΎΠΊΠ°-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ.
mov dl, R0 ;Π² R0- max Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ²Π°.
TOS0:
xor cx, cx ;ΠΡΠΈΡΡΠΊΠ° CX.
dec cl ;ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°.
TOS1:
inc cl ;ΡΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ Π±ΡΠΊΠ² Π² ΡΠ΅ΠΊΡΡ.ΡΠ»ΠΎΠ²Π΅.
cld ;
lodsb ;ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ Π² AL ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
dec dh ;ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
jz tosend ;Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆ-Ρ ΡΠΎ Π²ΡΡ ΠΎΠ΄.
cmp cl, dl ;Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ²Π° Π½Π΅ ΡΠ°Π²Π½Π° max Π΄Π»ΠΈΠ½Π΅.
jne TOS2 ;ΡΠΎ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ', '.
xor cl, cl ;ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ.
inc si ;ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄Π°Π»ΡΡΠ΅.
jmp TOS1 ;
TOS2:
cmp al, ', ' ;Π΅ΡΠ»ΠΈ Π½Π΅ ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
jne TOS1 ;ΡΠΎ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡ. ΡΠ»ΠΎΠ²Π° Π΅ΡΡΡ MAX ΠΈ ΡΠΎΠ³Π΄Π°.
;ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡ
mov bx, si ;ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ΄Π΅ΠΌ.
sub bx, di ;ΡΠ΄Π²ΠΈΠ³Π°ΡΡ ΡΡΡΠΎΠΊΡ.
mov ch, dl ;ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π²ΠΈΠ³ΠΎΠ².
sub ch, cl ;
xchg ch, cl ;
xor ch, ch ;
add si, cx ;Π Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SI-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ.
TOS3: ShiftRight bx ;ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ Π‘Π₯ ΡΠ°Π· ΡΠΎ ΡΠΌΠ΅Ρ. ΠΠ₯.
loop TOS3 ;
jmp TOS0.
TOSEND:
popreg.
EndM.
;******ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π° Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ***************************.
FindMaxLen macro.
local Start, End, MaxOrNo, No.
pushreg.
lea si, MyString ;ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
mov cl, [si] ;ΠΠΎΠ»-Π²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
xor ch, ch ;
xor bx, bx ;
inc si ;
cld ;
Start: ;ΠΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ.
lodsb.
cmp al, '$' ;ΠΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
je MaxOrNo ;ΠΈΠ»ΠΈ.
cmp al, ', ' ;ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
je MaxOrNo ;ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π° MAX Π΄Π»ΠΈΠ½Ρ.
inc bl ;ΠΈΠ½Π°ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠΈΠ½ΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ Π±ΡΠΊΠ² Π² ΡΠ»ΠΎΠ²Π΅.
loop Start ;ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
jmp End ;
MaxOrNo:
cmp bl, bh ;ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π½Π° MAX Π΄Π»ΠΈΠ½Ρ.
jbe No ;Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ. Π΄Π»ΠΈΠ½Π° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ MAX’Π°Ρ.
mov bh, bl ;ΡΠΎ MAX=ΡΠ΅ΠΊΡΡ.
No:
xor bl, bl ;ΠΈΠ½Π°ΡΠ΅ ΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ Π±ΡΠΊΠ².
jmp Start ;ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ.
End:
mov R0, bh ;ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π² R0 MAX Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Add R0, 05h ;ΠΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ Max Π·Π½Π°ΡΠ΅Π½ΠΈΡ 5(2 ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ 3.
; ΡΠΈΡΡΡ).
popreg.
EndM.
;******Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ «Π»ΠΈΡΠ½ΠΈΡ » Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ**************************.
DeleteSign macro.
local Start, beg, end, m0, m1, m2.
Pushreg.
lea si, Mystring ;ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
mov cl, byte ptr[si] ;ΠΠΎΠ»-Π²ΠΎ Π±ΡΠΊΠ² Π² ΡΡΡΠΎΠΊΠ΅.
inc cl ;ΠΈΠ½ΠΊΡ.Ρ.ΠΊ.Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ».
mov byte ptr[si], cl ;
mov di, si ;ΡΡΡΠΎΠΊΠ°-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ.
xor ch, ch ;
add di, cx ;ΠΠ° ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
mov byte ptr [di-1], ', ' ;Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ', '.
mov byte ptr[di], '$' ;ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΠΊΠΎΠ½ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
inc si ;Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ.
mov di, si ;
push ds ;Π‘ΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
pop es ;
;Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ Π΅ΡΠ»ΠΈ.
Start: ;Π½Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°.
lodsb; Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΡΡΠΎΠΊΠΈ.
cmp al, ' '; ΠΠΎΠΈΡΠΊ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
je m0 ;
cmp al, '.' ;
je m0 ;
cmp al, ',' ;
je m0 ;
push cx ;
push di ;
dec si; ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°.
rep movsb; «Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅» ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
pop di.
pop cx.
dec di.
jmp Beg.
m0: loop Start.
;Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ.
Beg: ;ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ»ΠΎΠ².
mov si, di.
inc di.
lodsb.
cmp al, ' ' ;ΠΠΎΠΈΡΠΊ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
je m1.
cmp al, '.'.
je m1.
cmp al, ','.
je m1.
loop Beg.
jmp End.
m1:
lodsb.
cmp al, ' ' ;ΠΠΎΠΈΡΠΊ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
je m2.
cmp al, '.'.
je m2.
cmp al, ','.
je m2.
push cx.
push di.
mov byte ptr[di-1], ',' ;Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π° ', '.
dec si ;ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°.
rep movsb ;" Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅" ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΠΉ.
pop di.
pop cx.
jmp beg.
m2: loop m1.
End: popreg.
ENDM.
;******Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²********************************************.
CompareWords macro FirstWord, SecondWord.
pushreg.
lea si, Mystring ;ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
mov di, si.
push ds.
pop es.
xor ch, ch.
mov cl, FirstWord ;ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
add si, cx ;ΠΈ.
xor ch, ch ;Π²ΡΠΎΡΠΎΠ³ΠΎ.
mov cl, SecondWord ;ΡΠ»ΠΎΠ².
add di, cx ;
xor ch, ch.
mov cl, R0 ;Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ.
cld.
repe cmpsb ;ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ ΠΏΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅.
popreg.
ENDM.
;*****ΠΠ±ΠΌΠ΅Π½ΡΡΡ ΡΠ»ΠΎΠ²Π°********************************************.
ChangeWords macro First, Second.
local mLoop.
pushreg.
lea si, MyString ;Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠΎΠΊΠΈ.
mov di, si ;
xor ch, ch ;
mov cl, First ;Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
add si, cx ;ΠΈ.
xor ch, ch ;Π²ΡΠΎΡΠΎΠ³ΠΎ.
mov cl, Second ;ΡΠ»ΠΎΠ².
add di, cx ;
xor ch, ch ;
mov cl, R0 ;Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ².
mLoop:
mov al, byte ptr[si] ;Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
mov ah, byte ptr[di] ;
xchg al, ah ;ΠΎΠ±ΠΌΠ΅Π½.
mov byte ptr[si], al ;
mov byte ptr[di], ah ;ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
inc si ;
inc di ;
loop mLoop ;ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ².
popreg.
EndM.
;*****CΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ******************************.
ReadString macro RdStr.
local m1.
lea dx, RdStr ;Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ DS: DX.
mov bx, dx.
mov byte ptr[bx], 250 ;MAX ΡΠΈΡΠ»ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
mov ah, 0ah ;Π€ΡΠΊΡΠΈΡ DOS Π²Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ.
int 21h ;Π²ΡΠ·ΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
;ΠΏΡΠΎΠΏΡΡΠΊ 1-Π³ΠΎ Π±Π°ΠΉΡΠ° ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ.
; ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° $.
lea bx, RdStr ;Π² bx Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π°Π΄ΡΠ΅ΡΡ ΡΡΡΠΎΠΊΠΈ.
inc byte ptr[bx+1] ;ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ '$'.
mov cl, [bx+1] ;Π·Π°Π½ΠΎΡΠΈΠΌ Π² ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
xor ch, ch; ΡΡΡΠΎΠΊΠΈ.
m1: mov al, [bx+1] ;ΡΠ΄Π²ΠΈΠ³ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΏΡΠ°Π²ΠΎ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ.
mov [bx], al.
inc bx ;ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
loop m1.
mov al, '$' ;Π·Π°Π½ΠΎΡΠΈΠΌ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ» '$'.
mov byte ptr[bx], al.
;ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ 2-Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
;13 — ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΈ 10 Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ.
mov ah, 2h ;Π€ΡΠ½ΠΊΡΠΈΡ DOS Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°.
mov dl, 13 ;Π² dl Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
int 21h.
mov dl, 10.
int 21h.
EndM.
;****ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½*****************************************.
WriteString macro WrStr.
mov ah, 09h ;Π€ΡΠ½ΠΊΡΠΈΡ DOS Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ.
lea dx, WrStr ;ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
inc dx ;ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ.
int 21h ;Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½.
;ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ 2-Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
;13 — ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΠΈ 10 Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ.
mov ah, 2h ;Π€ΡΠ½ΠΊΡΠΈΡ DOS Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°.
mov dl, 13 ;Π² dl Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
int 21h.
mov dl, 10.
int 21h.
EndM.
;******ΠΡΡΠ°Π²ΠΊΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡ Π΄Π»ΠΈΠ½*************************.
WriteLenWords macro.
local m0, m1, m2, m3, m4, m5, mend.
pushreg.
lea si, mystring ;ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ Π² SI Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ.
inc si.
mov di, si.
xor bx, bx.
mov bl, R0 ;R0-MAX Π΄Π»ΠΈΠ½Π°.
add di, bx ;di-cΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
inc di.
m0: xor cx, cx ;
mov cl, R0 ;Π·Π°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΡΡΠΈΠΊ.
m1: cld ;
lodsb ;Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
cmp al, '$' ;Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
je mend; ΡΠΎ Π²ΡΡ ΠΎΠ΄.
cmp al, ', ' ;Π΅ΡΠ»ΠΈ Π½Π°ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
jne m2; ΡΠΎ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ.
sub bx, cx; ΡΠΈΡΠ»ΠΎ Π±ΡΠΊΠ² Π² ΡΠ»ΠΎΠ²Π΅.
jz m5; Π΅ΡΠ»ΠΈ 0 ΡΠΎ ΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄.ΡΠ»ΠΎΠ²ΠΎ.
jmp m3; ΠΈΠ½Π°ΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΠΊΠΎΠ½Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π°.
m2: loop m1.
m3: dec si ;ΠΊΠΎΠ½Π΅Ρ ΡΠ»ΠΎΠ²Π°.
mov byte ptr [si], '[' ;ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ.
mov byte ptr [si+4], ']' ;ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ.
mov byte ptr[si+5], ', ' ;Π·Π½Π°ΠΊ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΡΡΡΠΎΠΊΡ.
mov al, bl ;AL-Π΄Π»ΠΈΠ½Π° ΡΠ»ΠΎΠ²Π°.
mov bl, 0Ah ;BL-ΡΠΈΡΠ»ΠΎ 10.
add si, 3 ;ΠΡΡΠ°Π΅ΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΈΡΠ»Π° Π΄Π»ΠΈΠ½Ρ.
mov cx, 3 ;Π§ΠΈΡΠ»ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠΉ — 3 Ρ.ΠΊ.3 ΡΠΈΡΡΡ.
m4: xor ah, ah ;ΠΡΠΈΡΠ°Π΅ΠΌ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ.
div bl ;ΠΠ΅Π»ΠΈΠΌ AL Π½Π° 10 (AH-ΠΎΡΡΠ°ΡΠΎΠΊ, AL-ΡΠΈΡΠ»ΠΎ).
add ah, 30h ;ΠΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ ΠΎΡΡΠ°ΡΠΊΡ ΠΊΠΎΠ΄ Π½ΡΠ»Ρ'0'.
;ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ASCII ΠΊΠΎΠ΄ ΡΠΈΡΡΡ.
mov byte ptr[si], ah ;ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² ΡΡΡΠΎΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
dec si ;Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ».
loop m4 ;ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈ ΡΠ°Π·Π°.
m5: mov si, di ;si-ΡΡΠ°Π²ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ.
xor ch, ch ;
mov bl, R0 ;
add di, bx ;di-Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΠΎΡΠ»Π΅ si ΡΠ»ΠΎΠ²ΠΎ.
inc di.
jmp m0 ;ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π²ΡΡΠ°Π²ΠΊΡ Π΄Π»ΠΈΠ½.
mend:
popreg.
EndM.
;*****ΠΠ°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²**************************.
PushReg macro Reglist.
Irp Reg, ;ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Reg ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° RegList.
push Reg.
EndM.
EndM.
;*****Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²************************.
PopReg macro Reglist.
Irp Reg, ;ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Reg ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° RegList.
pop Reg.
EndM.
EndM.
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.
;\ ΠΠΠΠΠ¦ Π€ΠΠΠΠ \.
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.
ΠΡΠ²ΠΎΠ΄ ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±Π»ΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π° ΡΡΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΠΠ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°Π±ΠΎΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠ·ΠΊΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΠ°ΠΊ: Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ — ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΎΡΡ.
1. ΠΠ°ΡΠ°ΡΠΎΠ² Π . Π. ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ «ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ΅Π΄ΡΡΠ² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°» ΠΏΠΎ ΠΊΡΡΡΡ «Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ», ΠΈΠ·Π΄.:ΠΠΆΠΠ’Π£, 2010 Π³., 49Ρ.
2. Π. Π. ΠΠΈΠ»ΡΡΠΈΠΊΠΎΠ² «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° IBM PC» — Π.: «ΠΠΈΠ°Π»ΠΎΠ³-ΠΠΠ€Π», 1998 Π³.
3. ΠΠ±Π΅Π»Ρ Π. Π. «Π―Π·ΡΠΊ ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΄Π»Ρ IBM PC ΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ» — Π.:ΠΡΡΡΠ°Ρ ΡΠΊΠΎΠ»Π°, 1992 Π³.