calculatrice asm

calculatrice asm - ASM - Programmation

Marsh Posté le 24-01-2006 à 13:53:53    

bjr , je sui un eleve de 1ere annee info  jai un  projet a faire , cree une calculatrice en assembleur mais je ne touche pas beaucoup en asm . est ce que quelqu'un peu m aider merci

Reply

Marsh Posté le 24-01-2006 à 13:53:53   

Reply

Marsh Posté le 24-01-2006 à 13:59:30    

vi mais fo respecter le protocole :
 
1/ tu essayes de faire un truc
2/ tu regardes si ca marche
3/ si t'as une question précise tu viens la poster ici
 

Reply

Marsh Posté le 24-01-2006 à 14:04:00    

voici le debut de mon prog mai apres je naarive pas a additionner les 2 chiffres ,je precise c une calculatrice a 2 chifree maxi donc 99+99 o max
 
;-------------------------------------
; saisir nombre 1 et 2
;-------------------------------------
  TITLE DISPLAY - programme prototype
 
;-------------------------------------
CSEG SEGMENT
     ASSUME CS:CSEG,DS:CSEG,ES:CSEG
     ORG 100H
MAIN :mov ah,9
   lea dx,MESSAGEA
   int 21h
 
      mov ah,9
   lea dx,MESSAGE1
   int 21h
       
      mov ah,0ah
      lea dx,nb1
      int 21h
       
      mov ah,9
   lea dx,MESSAGE2
   int 21h
       
      mov ah,0ah
      lea dx,nb2
      int 21h
       
addition:
      mov ah,9
   lea dx,RES
   int 21h
       
       
MESSAGEA DB "BONJOUR ET BIENVENUE DANS LA CALCULATRICE $"
   
MESSAGE1 DB 0ah,0dh,"SAISIR NOMBRE 1:   $",0aH,0dH
MESSAGE2 DB 0aH,0dH,"SAISIR NOMBRE 2:   $",0aH,0dH
nb1 dw 5,?,5 dup(?)
nb2 dw 5,?,5 dup(?)
RES dw ?
CSEG ENDS  
 
     END   MAIN
     
;------------------------------------------addition
addition proc
MOV AL,nb1
ADD AL,nb2
MOV RES,AL
endp addition

Reply

Marsh Posté le 24-01-2006 à 14:29:32    

ce que tu récupères dans nb1 et nb2, c'est des chaines de caractères, pas la "valeur" de ces chaines.

Reply

Marsh Posté le 24-01-2006 à 20:32:07    

Tu dois faire une conversion des valeurs ASCII et valeurs décimal, pour cela il faut que tu utilises le pointeur DI que tu fais varier.
Et pour te mettre sur la voie, tes variables nb1 et nb2 sont de la forme suivante:
nb de caractère possible avec le CR || nb de caractère tapé sans le CR || caractère 1 || caractère 2 || ...  || CR
 
donc si dans nb1 tu mets 10 la variable sera de la forme 5 2 1 0 CR

Reply

Marsh Posté le 24-01-2006 à 21:59:13    

merci op-hium je vai essayer de voir ce que jaarive a faire avec ca mai ca me di rien lol

Reply

Marsh Posté le 24-01-2006 à 22:15:19    

pour pouvoir travailler sur ta variable de la façon que je t'ai indiqué, fait  
 
LEA DI, nb1
 
et le pointeur DI sera par défaut sur la première valeur de la variable (dans ton cas le 5), pour récupérer la valeur sur laquelle pointe DI, il suffit de faire [DI]

Reply

Marsh Posté le 25-01-2006 à 19:46:49    

merci  jai reussi a cinvertir de ascii a dec .

Reply

Marsh Posté le 25-01-2006 à 20:40:45    

bravo, l'un des points les plus durs est résolu, pour l'affichage je te conseille de faire le même résonement mais à l'envers c'est comme ça que j'ai fais pour mon projet que je viens de finir et qui est aussi une calculatrice

Reply

Marsh Posté le 30-01-2006 à 09:51:16    

si ca t'interesse,je peux te passer le source d'une calculatrice qui fait - + / *


---------------
RTCW & W:ET PlayerDawa Pack 1.28ハイテクなマスター
Reply

Sujets relatifs:

Leave a Replay

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