Tom's Guide > Forum > Programmation > erreur ke rrive pa à corriger j'ai besoin de votre aide

erreur ke rrive pa à corriger j'ai besoin de votre aide

Forum Programmation : erreur ke rrive pa à corriger j'ai besoin de votre aide

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

#include<dos.h>
#include<stdio.h>
#include<conio.h>
#include<graphics.h>

//**********definition des constantes********//
#define adressage_direct ri&0x01
#define type_instruction ri&0x06
#define code_operation ri&0x78

#define transfert 0x04
#define branchement 0x06
#define arithmetique_logique 0x02

#define load ri&0x08
#define store ri&0x10

#define add 0x08
#define sub 0x10
#define and 0x20
#define or 0x40

#define jmp 0x08
#define jc 0x10
#define jz 0x20

#define carry sr&0x01
#define zero sr&0x02
//**declaration des variables globales**//

unsigned char acc,ri,cp,sr,ta;
unsigned char ae,memoire[256],code,operande,adresse;

//******* affichage des registres*******/

void displayregistre(void)
{
window(2,45,80,47);
printf("cp=%x ri=%x acc=%x ta=%x ae=%x sr=%x",cp,ri,acc,ta,ae,sr);

}

/***************affichage de la memoire donnees********/

void displaymemoire_donnee(void)
{
int i;
window(6,30,22,38);
for(i=128;i<=255;i++)
{
if(memoire[i]<16) printf("0" );
printf("%x ",memoire[i]);
}
}
/***************affichage de memoire programme********/

void displaymemoire_programme(void)
{
int i;
window(2,3,10,18);
for(i=0;i<=127;i++)
{
if(memoire[i]<16) printf("0" );
printf("%x ",memoire[i]);
}
}
//****************UAL***************//

void ual(unsigned char code,unsigned char operande)
{
switch(code)
{
case add:
if(adressage_direct)
acc=memoire[ae];
else
acc=acc+operande;
break;
case sub:if(adressage_direct)
acc=memoire[ae];
else
acc=acc-operande;
break;
case and:if(adressage_direct)
acc=memoire[ae];
else
acc=acc&operande;
break;
case or:if(adressage_direct)
acc=memoire[ae];
else
acc=acc|operande;
break;
}
if(acc==0)
sr=0;
else

sr=1;
displayregistre();
}

//**************traitement des branchements**************//

void Brancheement(unsigned char code)
{
switch(code)
{
case jmp:
cp=memoire[ae];
break;
case jc:
if(carry)
cp=memoire[ae];
else
cp++;
break;
case jz:
if(zero)
cp=memoire[ae];
else
cp++;
break;
}
}
//***traitement de transfert***//

void Transfeert(void)
{
if(load)
{
if(adressage_direct)
acc=memoire[ae];
else
acc=operande;
}
else
{
if(store)
memoire[ae]=acc;
}

if(load)
displayregistre();
else
{
if(store)
displaymemoire_donnee();
}
}


//****************fonction d initialisation***************//

void reset()
{
cp= 0x00;
ta= 0x00;
sr= 0x00;
}
//**********************UC***************************//

void uc()
{
unsigned char c;
c=getch();
while(c!='q')
{
if(type_instruction==arithmetique_logique )
ual(code_operation,memoire[ae]);
else
if((type_instruction)==transfert)
Transfeert();
else
if(type_instruction==branchement)
Brancheement(code_operation,memoire[cp-1]);

switch(type_instruction)
{
case arithmetique_logique: ual(code_operation,memoire[ae]);
break;
case transfert: Transfeert();
break;
case branchement: Brancheement(code_operation,memoire[cp-1]);
break;
}
ri=memoire[cp];
cp++;
displayregistre();
displaymemoire_programme();
c=getch();
if(adressage_direct)
ta=memoire[cp];
else
ta=cp;
ae=ta;
displayregistre();
displaymemoire_programme();
c=getch();
if(c=='r')
reset();
}
}

//******fonction principale********//
void main()
{
intro();
memoire[0]=0x0D;
memoire[1]=0x80;
memoire[2]=0x0B;
memoire[3]=0x81;
memoire[4]=0x15;
memoire[5]=0x82;
memoire[6]=0x0F;
memoire[7]=0x06;
memoire[0x80]=0x78;
memoire[0x81]=0x70;
clrscr();
reset();
uc();
printf("memoire(0x82)est %x",memoire[0x82]);
}

//ouverture du programme
void intro()
{
int gm,gd=DETECT;
initgraph(&gd,&gm,"..\\BGI" );
do{
setbkcolor(7);
setcolor(2);
settextstyle(3,0,3);
outtextxy(30,30,"bbbbbb" );
setcolor(3);
settextstyle(4,0,3);
outtextxy(30,150," Projet : MANIPULATION MICROPROCESSEUR" );
setcolor(8);
settextstyle(3,0,3);
outtextxy(10,250,"Fait par : xxxxx & yyyyyyy" );
setcolor(8);
settextstyle(3,0,3);
outtextxy(10,300,"Encad‚ par : Mlle. XXX" );
setcolor(4);
settextstyle(12,0,2);
outtextxy(300,430,"Ann‚e Universitaire : 2007/2008" );
}while(!kbhit());
closegraph();
getch();

}

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

jé besoin ke vs m'aidié svp c urgent

Répondre à simo_58

si tu le dis.


Message édité par okinou le 30-06-2008 à 15:27:53
Répondre à okinou
Tom's Guide > Forum > Programmation > erreur ke rrive pa à corriger j'ai besoin de votre aide
Aller à :

Il y a 1730 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens