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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ вирус ΠΈ антивирус». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 35

Автор Π˜Π³ΠΎΡ€ΡŒ Π“ΡƒΠ»ΡŒΠ΅Π²

ВСрсии: DOS 2.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 57h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ/ΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ/врСмя Ρ„Π°ΠΉΠ»Π°

Π’Ρ…ΠΎΠ΄:

AH=57h

AL=00h – ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ/врСмя Ρ„Π°ΠΉΠ»Π°

AL=01h – ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ/врСмя Ρ„Π°ΠΉΠ»Π°

BX – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° (handle)

CX (Ссли AL=1) β€“ новая ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ врСмя Ρ„Π°ΠΉΠ»Π°

DX (Ссли AL=1) β€“ новая ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π΄Π°Ρ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π°Ρ‚Π° Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

CX – (Ссли ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ AL=0) ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ врСмя/Π΄Π°Ρ‚Π° Ρ„Π°ΠΉΠ»Π° (Π’Π°Π±Π»ΠΈΡ†Π° Π‘-12)

Π’Π°Π±Π»ΠΈΡ†Π° Π‘-12. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

DX – (Ссли ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ AL=0) ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π΄Π°Ρ‚Ρ‹ Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ врСмя/Π΄Π°Ρ‚Π° Ρ„Π°ΠΉΠ»Π° (Π’Π°Π±Π»ΠΈΡ†Π° Π‘-13)

Π’Π°Π±Π»ΠΈΡ†Π° Π‘-13. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹ Ρ„Π°ΠΉΠ»Π°

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. BX Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (см. 3Ch ΠΈΠ»ΠΈ 3Dh). DX ΠΈ CX Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ памяти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, младшиС 8 Π±ΠΈΡ‚ Π΄Π°Ρ‚Ρ‹ находятся Π² DH).

ВСрсии: DOS 2.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 59h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ошибкС

Π’Ρ…ΠΎΠ΄:

AH=59h

BX=0000h (Π½ΠΎΠΌΠ΅Ρ€ вСрсии: 0000h для DOS 3.0, 3.1 ΠΈ 3.2)

Π’Ρ‹Ρ…ΠΎΠ΄:

AX – Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ошибки (0, Ссли ошибки Π½Π΅ Π±Ρ‹Π»ΠΎ)

BH – класс ошибки

BL – ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ дСйствиС

CH – сфСра (Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка)

ОписаниС. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ послС сбоя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DOS ΠΏΠΎ ошибкС (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ DOS 3.0+). Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ: Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ критичСских ошибок INT 24h, послС любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ INT 21h, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠ΅ΠΉ Ρ„Π»Π°Π³ пСрСноса послС Π²Ρ‹Π·ΠΎΠ²Π° FCB-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠ΅ΠΉ AL=FFh.

ВСрсии: DOS 3.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 5Ah Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

Π’Ρ…ΠΎΠ΄:

AH=5Ah

DS:DX – адрСс строки ASCIZ с диском ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ (заканчиваСтся символом Β«\Β»)

CX – Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

AX – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π°

DS:DX – (Π½Π΅ измСняСтся) ΠΏΠΎΠ»Π½ΠΎΠ΅ ASCIZ-имя Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ (создаСт) Ρ„Π°ΠΉΠ» с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ строкой ASCIZ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ DS:DX. COMMAND.COM Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Β«ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅Β» Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. ОписаниС ΠΏΡƒΡ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ добавлСнию Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ† ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. НСобходимо ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 12 Π±Π°ΠΉΡ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ строки. Π‘Π°ΠΌΠ° строка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΠΎΡ€ΠΌ: Β«^: \ΠΏΡƒΡ‚ΡŒ\Β»,0 (ΡƒΠΊΠ°Π·Π°Π½ диск ΠΈ ΠΏΡƒΡ‚ΡŒ), Β«d:Β»,0 (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ диска) ΠΈΠ»ΠΈ Β«d: \Β»,0 (ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ диска).

ВСрсии: DOS 3.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 5Bh Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

Π’Ρ…ΠΎΠ΄:

AH=5Bh

DS:DX – адрСс строки ASCIZ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°

CX – Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

AX – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π°

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π€Π°ΠΉΠ» открываСтся для чтСния/записи Π² совмСстимом Ρ€Π΅ΠΆΠΈΠΌΠ΅ доступа. Если диск ΠΈ/ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DOS 3Ch с Ρ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли Ρ„Π°ΠΉΠ» с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.

ВСрсии: DOS 3.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 5Ch Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ

Π’Ρ…ΠΎΠ΄:

AH=5Ch

AL – подфункция:

AL=00h – Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°

AL=01h – Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ

BX – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π°

CX:DX – смСщСниС ((CX*65536)+DX) ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π°

SI:DI – Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ области ((SI*65536)+DI) Π±Π°ΠΉΡ‚

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ»ΠΈ освобоТдаСт доступ ΠΊ участку Ρ„Π°ΠΉΠ»Π°, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² BX. ΠžΠ±Π»Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π° с логичСским смСщСниСм CX:DX ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ SI:DI блокируСтся (захватываСтся) ΠΈΠ»ΠΈ разблокируСтся (освобоТдаСтся). Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π»ΠΈΠ½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SHARE), ΠΈΠ½Π°Ρ‡Π΅ функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠΎΠ΄ ошибки «НСвСрный Π½ΠΎΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ».

ВСрсии: DOS 3.00 ΠΈ Π²Ρ‹ΡˆΠ΅ (ΠΏΡ€ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ SHARE). DOS, функция 62h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс PSP

Π’Ρ…ΠΎΠ΄:

AH=62h

Π’Ρ‹Ρ…ΠΎΠ΄: BX – сСгмСнтный адрСс PSP Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ОписаниС. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² BX адрСс PSP Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, для получСния адрСса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, адрСса окруТСния DOS ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, содСрТащСйся Π² PSP.

ВСрсии: DOS 3.00 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 65h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ страны

Π’Ρ…ΠΎΠ΄:

AH=65h DOS 3.3

AL – подфункция:

AL=01h – Π΄Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ страны DOS 3.3

AL=02h – Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ прСобразования строчных Π±ΡƒΠΊΠ² Π² прописныС

AL=04h – Ρ‚ΠΎ ΠΆΠ΅ для символов, допустимых Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

AL=06h – Π΄Π°Ρ‚ΡŒ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

DX – ΠΊΠΎΠ΄ страны

BX – кодовая страница (FFFFh – консоль)

CX – Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 5 Π±Π°ΠΉΡ‚)

ES:DI – адрСс Π±ΡƒΡ„Π΅Ρ€Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

ES:DI – адрСс Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки:

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Ρ‚Ρ‹, символа Π²Π°Π»ΡŽΡ‚Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ сортировки ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Π²ΠΎ всСх странах, ΠΊΡ€ΠΎΠΌΠ΅ БША).

ВСрсии: DOS 3.30 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 66h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ/ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу

Π’Ρ…ΠΎΠ΄:

AH=66h

AL – подфункция:

AL=01h – Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу

AL=02h – ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу

BX – (ΠΏΡ€ΠΈ AL=02h) кодовая страница (Π’Π°Π±Π»ΠΈΡ†Π° Π‘-14)

DX – (ΠΏΡ€ΠΈ AL=02h) систСмная кодовая страница (устанавливаСмая ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅)

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

Π’Π°Π±Π»ΠΈΡ†Π° Π‘-14. ЗначСния ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… страниц

BX – (Ссли ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ AL=01h) тСкущая активная кодовая страница

DX – (Ссли ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ AL=01h) систСмная кодовая страница (устанавливаСмая ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅)

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π­Ρ‚Π° функция Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ страницы (страниц). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° DOS NLSFUNC Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π΄ΠΎ этого Π²Ρ‹Π·ΠΎΠ²Π°. Ѐункция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с 65h ΠΈΠ»ΠΈ 38h.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Устанавливая Π½ΠΎΠ²ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу, DOS Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° COUNTRY.SYS.

ВСрсии: DOS 3.30 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 67h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ число описатСлСй Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’Ρ…ΠΎΠ΄:

AH=67h

BX – максимальноС число описатСлСй (Π΄ΠΎ FFFFh)

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π­Ρ‚Π° функция устанавливаСт максимальноС число описатСлСй Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ BX мСньшС 20, Ρ‚ΠΎ принимаСтся 20. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ BX мСньшС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ максимума (Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число описатСлСй), ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ BX Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мСсто, ΠΊΠΎΠ³Π΄Π° число ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ устанавливаСмый максимум. Если BX большС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ максимума (Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ число описатСлСй), Ρ‚ΠΎ DOS Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π΅ ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ описатСли. Ѐункция 4Ah позволяСт ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° стала доступной DOS.

ВСрсии: DOS 3.30 ΠΈ Π²Ρ‹ΡˆΠ΅. DOS, функция 68h Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»

Π’Ρ…ΠΎΠ΄:

AH=68h

BX – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0, Ссли функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ

CF=1, Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ошибки

AX – ΠΊΠΎΠ΄ ошибки

ОписаниС. Π­Ρ‚Π° функция заставляСт DOS ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ (Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° диск) Π±ΡƒΡ„Π΅Ρ€Π° основной памяти для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ описатСля Ρ„Π°ΠΉΠ»Π°. DOS ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° с дисками, записывая Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΡƒΡ„Π΅Ρ€Π° Π² основной памяти Π΄ΠΎ заполнСния сСктора ΠΈΠ»ΠΈ закрытия Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚Π° функция заставляСт DOS Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° диск. Π­Ρ‚ΠΎ ускоряСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, позволяя ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСэффСктивного закрытия ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ открытия Ρ„Π°ΠΉΠ»ΠΎΠ².

ВСрсии: DOS 3.3 ΠΈ Π²Ρ‹ΡˆΠ΅. Π’ вСрсиях DOS ΠΎΡ‚ 2.0 Π΄ΠΎ 3.2 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DOS 45h, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ программирования Flash Π² AMIBIOS

Π—Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Flash Π² AMIBIOS ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ функция E0h прСрывания INT 16h. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ прСрывания INT 16h Π½ΠΎΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² рСгистрС AH, Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ΄Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – Π² рСгистрС AL. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгистр AL содСрТит FAh ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ данная функция прСрывания поддСрТиваСтся. Π€Π»Π°Π³ CF Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ ΠΏΡ€ΠΈ ошибкС.

Для увСрСнности Π² ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всСгда ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ AL=FAh Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Flash AMIBIOS, подфункция 00h

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ вСрсии интСрфСйса Flash BIOS

Π’Ρ…ΠΎΠ΄:

AH=E0h

AL=00h

Π’Ρ‹Ρ…ΠΎΠ΄:

AL=FAh

CF=1 – интСрфСйс Flash-BIOS отсутствуСт

CF=0 – интСрфСйс Flash-BIOS присутствуСт

BX – Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ BCD

ОписаниС. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии интСрфСйса Flash-BIOS Π² BCD-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. НапримСр, вСрсия 2.00 Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π² BX число 0200h.