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

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

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

Π’Ρ…ΠΎΠ΄:

AX=0002h

BX – сСгмСнтный адрСс Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

Π’Ρ‹Ρ…ΠΎΠ΄:

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

AX – сСлСктор дСскриптора для сСгмСнта Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

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

ОписаниС. Π­Ρ‚Π° функция ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ сСгмСнт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² дСскриптор для адрСсации ΠΊ этому сСгмСнту Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Если эта функция Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ вызываСтся для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ сСгмСнта Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, Ρ‚ΠΎ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сСлСктор. ДСскрипторы, созданныС этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

DPMI, функция 0003h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сСлСктора

Π’Ρ…ΠΎΠ΄:

AX=0003h

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0 (эта функция всСгда выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ)

AX – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ приращСния Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сСлСктора

ОписаниС.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ для вычислСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сСлСктора Π² Ρ‚Π΅Ρ… функциях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСлСктора.

DPMI, функция 0006h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта ΠΏΠΎ сСлСктору

Π’Ρ…ΠΎΠ΄:

AX=0006h

BX – сСлСктор

Π’Ρ‹Ρ…ΠΎΠ΄:

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

CX:DX – 32-разрядный Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сСгмСнта

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

ОписаниС.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 32-разрядный Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта ΠΏΠΎ Π΅Π³ΠΎ сСлСктору.

DPMI, функция 0007h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта

Π’Ρ…ΠΎΠ΄:

AX=0007h

BX – сСлСктор сСгмСнта, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс

CX:DX – 32-разрядный Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. УстанавливаСт 32-разрядный Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сСгмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… сСгмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0000h. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ΅ 8 Π±ΠΈΡ‚ (рСгистр CH) Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² 16-разрядных вСрсиях DPMI.

DPMI, функция 0008h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π» сСгмСнта

Π’Ρ…ΠΎΠ΄:

AX=0008h

BX – сСлСктор сСгмСнта, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»

CX:DX – 32-разрядный ΠΏΡ€Π΅Π΄Π΅Π» сСгмСнта

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. УстанавливаСт 32-разрядный ΠΏΡ€Π΅Π΄Π΅Π» ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сСгмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄Π΅Π» сСгмСнтов, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0000h. Π’ 16-разрядных вСрсиях DPMI ΠΏΡ€Π΅Π΄Π΅Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ FFFFh. Если ΠΏΡ€Π΅Π΄Π΅Π» Π±ΠΎΠ»Π΅Π΅ 1MΠ±Π°ΠΉΡ‚, Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс сСгмСнта Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ ΠΏΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π΅ страницы (1000h), Π° Ρ‚Π°ΠΊΠΆΠ΅ младшиС 12 Π±ΠΈΡ‚ ΠΏΡ€Π΅Π΄Π΅Π»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ.

DPMI, функция 0009h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа Π² дСскрипторС

Π’Ρ…ΠΎΠ΄:

AX=0009h

BX – сСлСктор сСгмСнта, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа

CL – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΏΡ€Π°Π² доступа

CH – Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΏΡ€Π°Π² доступа для i80386 ΠΈ Π²Ρ‹ΡˆΠ΅ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 32-разрядных DPMI)

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. УстанавливаСт ΠΏΠΎΠ»Π΅ ΠΏΡ€Π°Π² доступа Π² дСскрипторС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄Π΅Π» сСгмСнтов, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0000h.

DPMI, функция 000Ah Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ алиасный дСскриптор для сСгмСнта ΠΊΠΎΠ΄Π°

Π’Ρ…ΠΎΠ΄:

AX=000Ah

BX – сСлСктор сСгмСнта ΠΊΠΎΠ΄Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ алиасный дСскриптор.

Π’Ρ‹Ρ…ΠΎΠ΄:

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

AX – Π½ΠΎΠ²Ρ‹ΠΉ сСлСктор Π΄Π°Π½Π½Ρ‹Ρ…

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

ОписаниС. Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ дСскриптор Π΄Π°Π½Π½Ρ‹Ρ… с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ адрСсом ΠΈ ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠΌ, ΠΊΠ°ΠΊ Ρƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сСгмСнта ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ алиасный дСскриптор ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0001h.

DPMI, функция 000Bh ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ дСскриптор

Π’Ρ…ΠΎΠ΄:

AX=000Bh

BX – сСлСктор

ES:(E)DI – ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° 8-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСскриптор.

Π’Ρ‹Ρ…ΠΎΠ΄:

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

ES:(E)DI – ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° 8-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, содСрТащий дСскриптор

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

ОписаниС. Данная функция ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ дСскрипторов LDT, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ сСлСктору, Π² 8-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ES:EDI для адрСсации Π±ΡƒΡ„Π΅Ρ€Π°, 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ – ES:DI.

DPMI, функция 000Ch Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ дСскриптор

Π’Ρ…ΠΎΠ΄:

AX=000Ch

BX – сСлСктор

ES:(E)DI – ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° 8-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, содСрТащий дСскриптор

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. Данная функция заносит содСрТимоС 8-Π±Π°ΠΉΡ‚Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° Π² элСмСнт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ дСскрипторов LDT, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ сСлСктору.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ES:EDI для адрСсации Π±ΡƒΡ„Π΅Ρ€Π°, 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ – ES:DI. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ дСскрипторы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0000h.

DPMI, функция 000Dh Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ дСскриптор

Π’Ρ…ΠΎΠ΄:

AX=000Dh

BX – сСлСктор

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. Данная функция выдСляСт дСскриптор, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ сСлСктору.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ дСскриптор ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0001h.

DPMI, функция 0100h Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти DOS

Π’Ρ…ΠΎΠ΄:

AX=0100h

BX – количСство ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ΠΎΠ² (ΠΏΠΎ 16 Π±Π°ΠΉΡ‚)

Π’Ρ‹Ρ…ΠΎΠ΄:

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

AX – сСгмСнтный адрСс Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° памяти

DX – сСлСктор Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° памяти

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

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

BX – Ρ€Π°Π·ΠΌΠ΅Ρ€ наибольшСго доступного Π±Π»ΠΎΠΊΠ° (Π² ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π°Ρ…)

ОписаниС. Данная функция выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ· ΠΏΡƒΠ»Π° свободной памяти DOS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ дСскриптор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈΠ»ΠΈ освобоТдСн. Π’ случаС, Ссли Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ памяти большС, Ρ‡Π΅ΠΌ 64 ΠšΠ±Π°ΠΉΡ‚, функция выдСляСт нСсколько дСскрипторов. Для доступа ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0003h.

DPMI, функция 0101h ΠžΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти DOS

Π’Ρ…ΠΎΠ΄:

AX=0101h

DX – сСлСктор Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° памяти

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

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

ОписаниС. Данная функция освобоТдаСт ΠΏΠ°ΠΌΡΡ‚ΡŒ DOS, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0100h.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

ВсС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ памяти дСскрипторы ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ.

DPMI, функция 0102h Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° памяти DOS

Π’Ρ…ΠΎΠ΄:

AX=0102h

BX – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° памяти

DX – сСлСктор Π±Π»ΠΎΠΊΠ° памяти

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

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

BX – Ρ€Π°Π·ΠΌΠ΅Ρ€ наибольшСго доступного Π±Π»ΠΎΠΊΠ° (Π² ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π°Ρ…)

ОписаниС. Данная функция измСняСт Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти DOS, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ 0100h.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ° памяти часто ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС, Ссли послС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π±Ρ‹Π» Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° большС 64 ΠšΠ±Π°ΠΉΡ‚ ΠΈΠ»ΠΈ Ссли послС дСскриптора этого Π±Π»ΠΎΠΊΠ° памяти Π±Ρ‹Π» Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ дСскриптор.

DPMI, функция 0200h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

Π’Ρ…ΠΎΠ΄:

AX=0200h

BL – Π½ΠΎΠΌΠ΅Ρ€ прСрывания

Π’Ρ‹Ρ…ΠΎΠ΄:

CF=0

CX:DX – сСгмСнт: смСщСниС Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

ОписаниС. Данная функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π² CX – сСгмСнт, Π½Π΅ сСлСктор. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ сСлСктор ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ памяти.

DPMI, функция 0201h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

Π’Ρ…ΠΎΠ΄:

AX=0201h

BL – Π½ΠΎΠΌΠ΅Ρ€ прСрывания

CX:DX – сСгмСнт: смСщСниС Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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

ОписаниС. Данная функция устанавливаСт Π²Π΅ΠΊΡ‚ΠΎΡ€ прСрывания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² CX Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сСгмСнтом, Π° Π½Π΅ сСлСктором.

DPMI, функция 0202h ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора

Π’Ρ…ΠΎΠ΄:

AX=0202h

BL – Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (00h-1Fh)

Π’Ρ‹Ρ…ΠΎΠ΄:

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

CX:(E)DX – сСлСктор: смСщСниС

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

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π² BL, Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ

ОписаниС. Данная функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² CX – сСлСктор Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, Π° Π½Π΅ сСгмСнт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. Π’ 32-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния возвращаСтся Π² рСгистрС EDX.

DPMI, функция 0203h Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора

Π’Ρ…ΠΎΠ΄:

AX=0203h

BL – Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (00h-1Fh)

CX:(E)DX – сСлСктор: смСщСниС

Π’Ρ‹Ρ…ΠΎΠ΄:

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

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