FURAX! int 21h sous fonction 42h

FURAX! int 21h sous fonction 42h - ASM - Programmation

Marsh Posté le 31-08-2005 à 01:11:26    

:fou: comment décrémenter (de 1, de 2 de x octets) la position du pointeur dans le fichier ouvert en mode 1 (al=1, distance se rapportant à la position actuelle du pointeur)
 
aucune fonction ne donne la position du pointeur...avec cette information j'aurais pu decrementer le mot de poids faible de la position du pointeur, la copier et rebalancer le tout dans int 21h f 42h...mais elle n'existe pas. les fonctions de manipulation de fichier ne donnent que l'adresse du buffer ou sont stockés les octets lus ou écrits...
 
dans la sous fonction 42h,
 
doit-on rentrer dans cx:dx des nombres signés?
quelle valeur de dx pour un déplacement de +1 octet ?
quelle valeur de dx pour un déplacement à l'octet précédent (-1) ? (c'est précisément ce que je recherche)
 
ça m'agace beaucoup...je devrais contimuer mon pgm mais je suis bloqué à cause d'une bétise...en réalité, je suis fou de rage de perdre mon temps pour un détail...
 
merci à caux qui pourront m'aider!

Reply

Marsh Posté le 31-08-2005 à 01:11:26   

Reply

Marsh Posté le 31-08-2005 à 11:48:40    

Voici les réponses (source : MS-DOS Encyclopedia, MS Press, 1988, page 1312)

doit-on rentrer dans cx:dx des nombres signés?  

Si l'on veut faire un déplacement à partir du début du fichier (AL=0), alors CX : DX est un entier 32-bit positif. Sinon, pour AL=1 (déplacement à partir de la position courante) ou AL=2 (déplacement à partir de la fin du fichier), CX : DX peut être positif ou négatif.
 

quelle valeur de dx pour un déplacement de +1 octet ?  

DX = 1 et CX = 0.
 

quelle valeur de dx pour un déplacement à l'octet précédent

DX = - 1 et CX = 0.

Reply

Marsh Posté le 31-08-2005 à 11:55:40    

Réponses complémentaires :
 

aucune fonction ne donne la position du pointeur

Faux. La fonction 42h retourne la position du pointeur dans DX : AX, si on lui donne AL = 1, BX = handle, CX = 0, DX = 0.  :)

Reply

Marsh Posté le 31-08-2005 à 16:27:06    

merci beaucoup pour la réponse, que j'ai trouvé pendant la nuit d'ailleurs...eh oui, aucuns des ouvrages que j'ai ne mentionne qu'avec cx et dx à 0 (al=1) la fonction nous retourne la position du pointeur...d'autant qu'avec al=2 on obtient le déplacement du pointeur à la fin et en retour la taille du fichier...aucuns sites ne le  précisent non plus quand ils détaillent la fonction 42h...j'aurais peut-être du y penser plus tôt!  
 
en tous cas encore merci pour votre aide!

Reply

Marsh Posté le 04-09-2005 à 08:44:25    

On a pourtant la même fonction en C dérivée de la 42h.


Message édité par christophe_d13 le 04-09-2005 à 08:44:48

---------------
http://www.ikalizer.fr
Reply

Marsh Posté le 03-01-2008 à 22:00:42    

le problème, c'es que le c, je ne le lis pas, je n'ai jamais pu m'y faire... je déteste!  
 
on dirait que le type qui a inventé ce language a utilisé certains signes pour s'en servir de pointer... comme le "+" par exemple...
 
je déteste au plus haut point! (j'préférais le pascal...)
 
je sais, j'suis vieux... mais bon...

Reply

Marsh Posté le 03-01-2008 à 22:18:38    

TIME PARADOX

Reply

Marsh Posté le 03-01-2008 à 23:21:51    

flyeric a écrit :

on dirait que le type qui a inventé ce language a utilisé certains signes pour s'en servir de pointer... comme le "+" par exemple...


 
[:rofl2][:rofl2][:rofl2]
 

flyeric a écrit :

je déteste au plus haut point! (j'préférais le pascal...)


 
MAIS OUAIS ! [:dawak]
MOI AUSSI JE PREFERE ECRIRE POINTEUR^ QUE *POINTEUR §§§ [:dawak]
 

flyeric a écrit :

je sais, j'suis vieux... mais bon...


T'as pensé à essayer ADA ? [:opus dei]
 
(et au passage, pelle d'or of teh day [:dawa])

Reply

Marsh Posté le 03-01-2008 à 23:27:19    


Elmoricq a écrit :


T'as pensé à essayer ADA ? [:opus dei]


 
"Ada" !
 

Spoiler :


C'est pas possible, il faut tout leur dire.


Spoiler :


 [:dawa_neowen]  

Reply

Marsh Posté le 20-02-2008 à 11:00:31    

tardis  :love:  
 
Je suis (à la base) programmeur en ASM. Et venir au C a été trés facile pour moi...
 
En rêgle générale, pour la gestion des fichiers c'est un format d'entiers non signés.


Message édité par christophe_d13 le 20-02-2008 à 11:03:05

---------------
http://www.ikalizer.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed