Interruption 67h |
Fonction 57h, Sous-Fonction 00h |
Copie de la mémoire |
---|---|---|
Pilote EMM 4.0+ |
Description
Cette fonction permet d'effectuer une copie d'une zone de mémoire.
Entrée
Registre | Valeur ou description | |||||
---|---|---|---|---|---|---|
AX | 5700h | |||||
DS:SI | Cette paire de registres permet d'indiquer l'adresse du tampon : | |||||
Déplacement | Taille | Description | ||||
00h | 4 octets | Ce champ permet d'indiquer la taille de la zone en octets | ||||
04h | 1 octet | Ce champ permet d'indiquer le type de la zone source: | ||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer que le type de source est de la mémoire conventionnel, soit sous la barrière des 640 Ko. | |||||
01h | Cette valeur permet d'indiquer que le type de source est de la mémoire étendue. | |||||
05h | 2 octets | Ce champ permet d'indiquer l'identificateur de descripteur Handle de la source de mémoire | ||||
07h | 2 octets | Ce champ permet d'indiquer le déplacement de la source de mémoire | ||||
09h | 2 octets | Ce champ permet d'indiquer le segment de mémoire source ou numéro de page logique | ||||
0Bh | 1 octet | Ce champ permet d'indiquer le type de la zone destination: | ||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer que le type de source est de la mémoire conventionnel, soit sous la barrière des 640 Ko. | |||||
01h | Cette valeur permet d'indiquer que le type de source est de la mémoire étendue. | |||||
0Ch | 2 octets | Ce champs permet d'indiquer l'identificateur Handle de destination de mémoire | ||||
0Eh | 2 octets | Ce champs permet d'indiquer le déplacement de la destination de mémoire. | ||||
10h | 2 octets | Ce champs permet d'indiquer le segment de destination de mémoire ou numéro de page logique. |
Sortie
Registre | Valeur ou description | |||||
---|---|---|---|---|---|---|
AH | Ce registre permet d'indiquer le résultat de la fonction de l'EMM: | |||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer que tout va bien. | |||||
80h | Cette valeur permet d'indiquer une erreur interne, l'EMM est endommagé ou détruit. | |||||
81h | Cette valeur permet d'indiquer un problème de fonctionnement de l'électronique de l'EMS. | |||||
84h | Cette valeur permet d'indiquer que le numéro de la fonction est incorrecte. | |||||
8Fh | Cette valeur permet d'indiquer que le numéro de la sous-fonction est incorrecte. |
Remarques
- Une longueur de zéro octet n'est pas une erreur. La longueur maximale d'un déplacement est de 1 Mo. Si la longueur dépasse une seule page de mémoire étendue, des pages de mémoire étendue consécutives (autant que nécessaire) fournissent ou reçoivent les données.
- Si les adresses source et destination se chevauchent, le déplacement sera effectué de manière à ce que la destination reçoive une copie intacte des données d'origine et qu'un état différent de zéro soit renvoyé.
Références
Quick Reference: Programmer avec les extensions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04057-X, page 86 à 87.
Dernière mise à jour : Jeudi, le 3 mars 2016