Je voudrais demander comment puis-je simuler des pointeurs C dans un assemblage 16 bits.Chargement de l'adresse en mode 16 bits
int var = 10;
int * ptr = &var;
Dans l'ensemble, il est comme
mov dword ptr [ebp-x], 10
lea eax, dword ptr [ebp-x]
mov dword ptr [ebp-x+4], eax
Est-il possible comment obtenir l'adresse physique de la variable sur [bp-x]
dans 16 assemblage. Par exemple: J'ai un programme qui lit un secteur à partir d'une disquette, puis il passe à segment:0
et l'exécute. Le programme en cours de chargement est un simple éditeur de texte. Dans l'éditeur, j'ai besoin d'obtenir l'adresse physique de la variable unique, le convertir en segment:offset
et l'utiliser pour le chargement de fichier texte. J'ai essayé de mettre DS:SI
avant de sauter à Exitor, mais ce n'est pas très bonne solution. Est-ce que quelqu'un sait comment le résoudre? S'il vous plaît aider.
Il n'y a rien de spécial à propos d'un pointeur C ... voulez-vous dire simuler un pointeur de plus grande portée que 16 bits? –