manipuler des repertoire [ASM] - ASM - Programmation
Marsh Posté le 01-04-2004 à 17:13:28
c'est pas bien de faire des virus
Marsh Posté le 01-04-2004 à 17:13:45
Tu peux poster l'énoncé en entier, steuplé ?
Marsh Posté le 01-04-2004 à 17:19:17
darklord a écrit : c'est pas bien de faire des virus |
pas du tout.
C'est un exo que j'ai à faire mais je suis vraiment trop nul en asm (malgré que ce qui est demandé soit tres simple).
voici l'énoncé:
1.Création d'un repertoire
Ecrire un programme pour créer un repertoire appelé \temps.
2.Suppression d'un repertoire
Ecrire un programme pour supprimer le repertoire précedent.
3.Ecrire un programme pour selectionner le repertoire courant.
4.Ecrire un repertoire qui affiche le chemin d'acces au repertoire courant.
Voilà.
Marsh Posté le 01-04-2004 à 17:22:31
Bingo
La demande de résolution d'exercices est interdite sur le forum (cf les règles du forum, en haut à droite de la liste des topics). Ton topic va donc bientôt être fermé
Marsh Posté le 01-04-2004 à 17:27:00
ok j'avais pas vu ke c'était interdi de demander un tel chose (résolution d'exercice).
Bon alors je vous donne deja un ebauche de ce que j'ai fait mais je comprend pas tout don si on peu me donner des explication.
Exo 1:
Code :
|
Exo 2:
Code :
|
A priori ces deux exo marche mais j'ai pas fé expres, et comme je doit donner des explications çà va etre dur de le faire.
Exo 3:
Code :
|
le probleme c que je vé juste que dans le repertoire c:temps\
et non dans le repertoire courant(puisque je l'execute d'un autre repertoire le programme). Donc la j'ai besoin d'aide.
exo4:
J'ai pas fait car je n'y arrive pas
Marsh Posté le 01-04-2004 à 17:34:33
C'est un gars qui connaît bien l'ASM Mais il a été banni, j'crois
Marsh Posté le 01-04-2004 à 17:40:44
Je crois ke j'ai fait des efforts non??
c'est bien une des conditions pour qu'on puisse me repondre et que l'on ne ferme pas le sujet
Marsh Posté le 01-04-2004 à 17:53:35
bin pour les deux premiers exo, y'a pas vraiement grand chose à commenter.
tu mets juste des:
"je mets l'adresse du chemin dans le registre...."
"appel de la fonction DOS gni gna gna création de répertoire"
"ça marche => on quitte"
"ça marche po (retenue) => message d'erreur"
je pense pas que l'on te demande des commentaires vraiment poussés...
Marsh Posté le 01-04-2004 à 17:58:17
pour l'exo3:
tu ne peux pas justifier le changement de répertoire courant.
quand tu lances un programmes dans C:\prog
et que le programmes changes en c:\yopla
et puis tu quittes
tu restes en c:\prog, puisque c'était le répertoire courant au programme.
(c'est comme les variables d'environnement, tu peux les changer en créer, mais c'est pour la durée de vie du programme).
donc l'idée c'est de montrer que tu as trouver tout seul comme un grand la fonction DOS qui permet de le faire.
l'idée qui serait bien c'est de faire l'exo4 à part.
puis de réunir l'exo3 et l'exo4 (changement de répertoire courant et affichage du répertoire courant de suite) pour prouver que t'as bon.
Marsh Posté le 01-04-2004 à 18:00:53
et de manière générale tu peux réorganiser comme ça:
Code :
|
Marsh Posté le 01-04-2004 à 18:32:04
bjone>> merci beaucoup pour tes conseils.
Je vais faire ce que tu m'a dit pour les exos 3 et 4
Marsh Posté le 01-04-2004 à 18:34:42
fais bien le 4 une fois à part, puis une version 3+4.... (que le prof te fasse pas gnignagna)
Marsh Posté le 01-04-2004 à 19:43:40
bjone a écrit : fais bien le 4 une fois à part, puis une version 3+4.... (que le prof te fasse pas gnignagna) |
Je voulais savoir pour le 4, il faut bien utiliser la fonction 47h pour afficher le chemin d'acces au repertoire courant.
En fait c'est super simple , ya juste un truc a changer a chaques exos: soit c'est 39h pour créer soit c'est 3Ah pour supprimer soit 3Bh pour sélectionner soit 47h pour afficher le chemin.
En fait je pense que le 3 et le 4 font la même chose en soi mais pas de la même maniere ou je me trompe? pour le trois en fait j'ai juste a changer le pathname pour qu'il corresponde au repertoire courant à savoir le repertoire où est le programme.
Marsh Posté le 01-04-2004 à 19:49:20
bin le but à priori c'est de faire des appels DOS, donc effectivement y'a pas grand chose qui change.
pour le 4 (affichage du chemin actuel), j'ai pas regardé, mais il faut:
a) récupérer le chemin courant => appel dos
b) l'afficher => appel dos
alors pour le a) (vu que j'ai pas regardé), si il te balance au retour l'adresse du chemin courant direct, soit tu lui passes d'abord l'adresse d'un tampon ou le chemin sera mis.
attention le 3) c'est définir le chemin courant, le 4) c'est le demander (dans le 4) pris seul, il ne doit pas y avoir de chemin visible dans le source à priori)
Marsh Posté le 01-04-2004 à 20:20:05
Ok merci, je pense que c'est bon.
Pour le quatre j'ai declaré comme suit:
Citation : data segment |
et avec la fonction 47h çà lit le repertoire courant en fait et je le stocke dans pathname.
Bon j'arrete là, je pense avoir compris l'essentiel.
Encore merci
Marsh Posté le 01-04-2004 à 20:22:15
http://spike.scu.edu.au/~barry/interrupts.html#ah47
valà c'est un buffer de 64octets dont l'adresse est passée par DS:SI
Marsh Posté le 01-04-2004 à 21:08:30
Taiche a écrit : |
Ouais
Dommage, il me faisait trop rire
Marsh Posté le 01-04-2004 à 16:17:53
bonjour,
est-ce que quelqu'un serait créer un répertoire, le supprimer, sélectionner le repertoire courant, et afficher le chemin d'acces au repertoire courant en ASSEMBLEUR.
Les quatres programmes doivent etre séparer.
Merci