Il y a actuellement 305 visiteurs
Jeudi 28 Mars 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

aide assembleur

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

aide assembleur

Message le 22 Déc 2007 21:40

bonjour tous le monde, c'est ma premiere participation à ce forum, je salut tous le monde et je vous souhaite une bonne nouvelle année 2008...
en effet je cherche de l'aide pour realiser mon tp en assembleur.
voici l'enoncé :

Sous le systeme d'exploitation DOS, il existe deux situation dans lesquelles un programme peut etre terminé pratiqment à n'importe quel moment du fait de l'intervention d'événements échappant totalement au contrôle du programme, Ces situation survienent lorsque l'utilisateur actionne la touche <Ctrl_Break> ou bien lorsqu'apparait , lors de l'acce a un peripherique externe (imprimante, disque dur, lecteur de dicquette , etc...), un défaut parteculierement grave. Un arrét brusque du programme ne va pas sans poser de problemes. Le programme se termine par le fait que le DOS reprend le contrôle de l'exucution, de sorte que les instruction normalement exécutéés lors de la fin réguliere du programme se trouvent tout simplement ignioreéés. Ilon resulte que les fichiers ouverte ne sont pas fermes comme il conviendrait, que les vecteurs d'interruption rediriges ne sont pas restaurs et que la memoire allouée n'est pas restaurée. Toutes ces concequences peuvent déboucher sur une perte de données ou meme sur le plantage du systeme

Si pendant l'accés à un disque, un probleme survient (Disquette protégée contre l'ecriture, Unite de disquette non prete, ...), l'interruption 24h est automatiqment déclenchée invoquant une routine qui sort sur l'ecran le message bien connu « (A)bort, (R)etry ,(I)gnore »et attend une entrée de l'utilisateur. Pour pouvoir localiser l'erreur. Le D.O.S transmet à cette routine dans les 8bits de faible poids de DI un code d'erreur:

00h Disquette protégeée contre l'ecteure
01h Acces à un peripherique inconnu
02h Unité de disquette n'est pas préte
03h Ereure inconue
04h Ereure CRC
05h Longueur de données erronnée
06h Erreure de recherche
07h Type de péripherique inconnu
08h Secteur non trouvé
09h Plus de papier dans l'imprimente
0Ah Ereure d'ecriture
0Bh Ereure de lecteure
0Ch Ereure générale

le D.O.S attend alors que lui soit transmis dans le registre AL un code indiquant comment il doit réagir à l'erreure:


00h Igniorer l'erreur
01h Répéter l'operation
02h Terminer le programme à travrs l'interruption 23h
03h Terminer la fonction appelée avec erreur (positionne le flag carry)

Lobjet de ce T.p consistera à écrire un programme redirigeant cette interruption sur routine à lui . De façon à garder le contrôle des évenement lorsq'une erreure critique survient.

La nouvelle rouytine de gestion de l'interuption 24h (Traite_Erreure_critique), ce doit de positionner un flag (flag_Erreure_ critique). D'afficher un message indique le type de d'erreure . Puis de redonner la main au D.O.S avec un code de retoure 03h(Terminer la fonction appéleée)

Apre la rentative ou d'arreter la programme . Dans le derniere cas , unez simulation d'une arrét propre du programme zsera engagée. Le programme pouyrra étre teste en rentant d'ouvrir un fichier

sur une unite disque nonpréte(Exp: disquette inexistant).

1.Commencer par edevelopper les routines et macros suivantes:
Traite_erreure_critiquePROC FAR
Cette vroutine prendra en charge la gestion de l'interruption Erreur_Critique(24).
(Voir description çi dissus)

Redirige_Int MACRO Num_Int , Adr Seg routine ,Adr_ofs_routine

Cette macro ce edoit de modifier léentrée 'Num_Int du vecteur D'intereptions par l'adresse de la routine (dans notre cas Traite_erreure _critique)spesifiée en parametre .


Ouvrire_fichier MACRO nom fichier
Ouvrire le fichier 'nom fichier 'en mode lecteure
cette routine simuler la fonction principale du programme sur le quel sera exprimenté la technique de detournement de l'interruption 24h

Remarque1:

pour le developpement del a macro redige_int, on pourra faire appel à la fonction suivante de l'inturruption 21h

du DOS:
interruption : 21H
num. fonction : 25H
definition cette fonction permet de modifier une adresse dans le vecteur d'interruption pour qu'elle pointe vers une routine particuliére de traitement d'interruption.

Parametres d'entrés:
AH :25H
AL : numéro de l'interruption dont l'adresse dans le vecteur d'interruption sera modifié.
DS DX : segment : offset de la nouvelle routine de traitement de l'interruption dont le num est identique dans AL.
Néant.


Remarque 2:

pour le developpement de la macro 'ouvrir_fichier », on pourra faire appel a la fontion suivante de l'interruption 21h du DOS:

interruption : 21H
num.fontion 3dH
definition :
cette fonction permet d'ouvrir sur un disque un fichier en lecture/ecriture.
Parametres d'entrée:
AH : 3dH
AL : mode d'ouverture du fichier (lecture 0)
DS : DX: segment offset la chaine contenant le nom ainsi que le chemin d'accès du fichier à ouvrir (exp: a: est.txt)
parametre de sortie :
néant.


2- ecrire le programme final en integrant les rouitines et macros de la question 1. :D
CHAMSSUN
Visiteur
Visiteur
 
Messages: 1
Inscription: 22 Déc 2007 21:32
 


Message le 22 Déc 2007 22:02

Ok, tu cherches de l'aide, mais as-tu des questions précises ? As-tu essayé de le faire ?

Personne ne te donnera de solution toute faite ici.
Avatar de l'utilisateur
w0lverine
PC-Infopraticien
PC-Infopraticien
 
Messages: 7004
Inscription: 01 Mai 2004 13:38
Localisation: Bordeaux [33]
 



Sujets similaires

Message Aide suite à une analyse FRST contre un virus vbc.exe
Bonjour tout le monde, J'ai récemment constaté que j'étais infecté par un virus lié à vbc.exe, ce qui entraîne une utilisation du CPU allant jusqu'à 30% voire 40%. J'ai donc effectué mes analyses FRST et voici les rapports obtenus : - FRST.txt: https://pjjoint.malekal.com/files.php?id=FRST_20240315_ ...
Réponses: 3

Message : besoin d'aide pour un pc portable à 500 euros
Bonjour à tous, J'ai besoin d'un sacré coup de main et de vos compétences. Voilà, j'ai un ami de mon fils avec ses frères et s?urs. Ils vont casser leur tirelire pour acheter un PC portable à leur s?ur pour son anniversaire . Elle va avoir 17 ans car leurs parents ne peuvent pas se le permettre . ...
Réponses: 3

Message Aide pc portable
Bonjour,Je souhaiterai faire plaisir à ma femme et lui acheter un pc portable qui ferait tourner world of warcraft en haute qualité (élevé ou ultra sans lag). J?ai fait un peu le tour sur le forum pour pas faire de doublon mais je n?ai rien trouvé. J?ai un petit budget max 700 euros avec un écran au ...
Réponses: 5

Message [réglé] aide pour achat imprimante compatible chromebook
Bonjour à tous, j'ai besoin d'acheter une imprimante laser n/b et couleur compatible Chromebook (un acer)Quelqu'un pourrait-il m'aider car je ne trouve rien par les moteurs de recherche. Les réponses données ne sont pas compatibles.Un grand merci pour votre aide
Réponses: 6

Message Aide achat PC Portable
Bonjour Je viens sur le forum car j'envisage de changer de PC Portable et j'ai besoin d'aide !! Mon PC actuel : PC Portable ASUS R415UA-EB035T - 14" FHD sur lequel je suis passé de 8Go de mémoire vive à 16Go de mémoire vive Mon budget : 800 euros max Mon utilisation : internet et Word et lectur ...
Réponses: 9

Message [Réglé] Aide nettoyage pc
Bonjour, mon pc rame et j'aimerais avoir votre aide pour déjà vérifier si il n'est pas infecté
Réponses: 12

Message [Réglé] Aide pour analyse fichier FRST
Bonsoir,J'ai une fenêtre Powershell.exe qui s'ouvre et se ferme quelques minutes après le démarrage et ca n'était pas le cas avant.Mise à jour windows et mise à jour Nvidia récente.J'ai effectué une analyse et j'ai obtenu les fichiers texte suivants.Est ce que quelqu'un peut m'aider et me dire de qu ...
Réponses: 7


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.