[SYS 2R MEMOIRE] probleme affichage nombre

Voir le sujet précédent Voir le sujet suivant Aller en bas

[SYS 2R MEMOIRE] probleme affichage nombre

Message  Yacinouu le Mar 08 Mai 2012, 14:59

Bonjour , mon projet consiste à mettre en memoire le tableau des carrés des 10 premiers entier ensuite de relire la memoire et afficher.

Mon code est le suivant :
Code:
;NOM    = tableCarre.ASM : noyau de ESIos
;CLASSE = SYSTEME - DEVELOPPEMENT - ESIOS
;OBJET  = Application 5-3
;HOWTO    = Exécuter le makefile pour compiler ce fichier
;AUTEUR = E.Y Yacine El youssoufi
;==========================================================================
[BITS 32]
;==========================================================================
; KERNEL CHARGE : ce programme est en 0x10000
;==========================================================================
   MOV ESI,tab+0x10000
   CALL affmessSuite
   ;CALL affichage
;=============================================================================
; Programme principal
; Programme qui met en memoire la table des carrés des 10 premiers entiers et affiche la mémoire.
;=============================================================================

;=============================================================================
affmessColor:
   PUSH AX
.aff:   MOV AL,[ESI]
   CMP AL,0
   JE  .fin
   MOV [EDI],AL
   INC EDI
   MOV byte [EDI],BH
   INC EDI
   INC ESI
   JMP .aff   
.fin:   POP AX
   RET
;=============================================================================
;ROUTINE : affmessSuite
;OBJECTIF : Affiche un texte à 0 final en blanc, à la ligne suivante
;ARGUMENTS :    ESI : adresse du message, détruit
;VARIABLES : currentLine (initialisé à 5.)
;=============================================================================
affmessSuite:
   PUSH AX   
   PUSH EDI
   PUSH EBX
   MOV EDI,[currentLine+0x10000]
   MOV BH,0xF
   CALL affmessColor
   MOV EDI,[currentLine+0x10000]
   ADD EDI,80*2
   MOV [currentLine+0x10000],EDI
   POP EBX
   POP EDI
   POP AX
   RET
;=============================================================================
; BOUCLE INFINIE (LE PROCESSEUR NE PEUT PAS S'ARRETER)
;==============================================================================
jump:
    JMP $
;=============================================================================

;=============================================================================
; VARIABLES SYSTEME
;=============================================================================
;Textes
;------
mess       DB   'Chargement du kernel de Yacine',0

;Variables utilitaires
;---------------------
[color=red]tab db 1,4,9,16,25,36,49,64,81,100[/color]
currentLine   DD 0xB8000+5*80*2   ; première ligne de message
Cpt      times 55 db '0'      ; Les 55 compteurs d'interruption

Le problème est le suivant : il affiche des caractères incompréhensibles et mon pc redemarre alors que j'ai mis un JMP $ qui crée une boucle infini et donc le pc ne devrait pas redémarrer .

Yacinouu

Nombre de messages : 5
Prénom : Yacine
Date d'inscription : 29/02/2012

Revenir en haut Aller en bas

Re: [SYS 2R MEMOIRE] probleme affichage nombre

Message  mba le Mar 08 Mai 2012, 17:33

Tu l'as mis, en effet, mais peut être pas au bon endroit

mba

Nombre de messages : 1493
Statut : prof
Localisation : Lessines
Date d'inscription : 07/10/2006

Revenir en haut Aller en bas

Re: [SYS 2R MEMOIRE] probleme affichage nombre

Message  Yacinouu le Mar 08 Mai 2012, 20:05

Merci

Yacinouu

Nombre de messages : 5
Prénom : Yacine
Date d'inscription : 29/02/2012

Revenir en haut Aller en bas

Re: [SYS 2R MEMOIRE] probleme affichage nombre

Message  Contenu sponsorisé Aujourd'hui à 21:06


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum