Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : j'ai besoin d'aide pour 2 petit programme en asm [ Archives / Autres asm ] (gctom)

mercredi 10 mars 2004 à 08:07:27 | j'ai besoin d'aide pour 2 petit programme en asm

gctom

je vous expose mon problème : j'ai quelque difficultés avec l'assembleur malgré les livres et cours que j'ai suivi, je n'arrive pas a faire 2 petit programme :
- l'un qui permet de faire une addition et une multiplication entre 2 nombres et d'afficher le résultat
- l'autre qui permet la réalisation d'une horloge qui affiche l'heure et la date pendant une durée indéterminée. le programme doit s'accompagner d'une réalisation graphique qui permet d'afficher une image ou plusieurs.


SVP aidez-moi car je n'arrive a faire aucun de ces 2 programme.

merci

si vous avez des conseils a me donner : gctom@caramail.com merci

jeudi 11 mars 2004 à 16:21:47 | Re : j'ai besoin d'aide pour 2 petit programme en asm

TangiX

ca ressemble beaucoup a des exo et non a des projet perso

le forum n'est pas une source de soluce mais un lieu de rencontre et d'entraide !

montre nous ce que tu a deja fais et la ou tu bute et on t'aidera

BonDev'
TangiX

vendredi 12 mars 2004 à 11:54:45 | Re : j'ai besoin d'aide pour 2 petit programme en asm

gctom

ben voila mon début de programme (fais sous masm)
je tiens juste a préciser que je suis le méga newbie en asm et que je ne comprend quasiment rien :

----------------------------------------------------------------


cseg segment 'code'
assume cs:cseg, ds:cseg, es:cseg
org 100h

main: ;affichage du 1er message
;------------------------
mov bx,0001h
lea dx,message1
mov cx,l_message1
mov ah,40h
int 21h

;saisie du 1er nombre
;--------------------
lea dx, N1
mov ah,0ah
int 21h

;affichage du 2e message
;-----------------------
mov bx,0001h
lea dx,message2
mov cx,l_message2
mov ah,40h
int 21h


;saisie du 2e nombre
;-------------------
lea dx, N2
mov ah,0ah
int 21h


;conversion en decimal etendu des chiffres des 2 nombres
;-------------------------------------------------------
mov ax, 0000111100001111b
and word ptr N1+2,ax
and word ptr N1+4,ax
and word ptr N2+2,ax
and word ptr N2+4,ax

;affichage du menu
;-----------------
mov bx,0001h
lea dx,messagemenu
mov cx,l_messagemenu
mov ah,40h
int 21h
mov bx,0001h
lea dx,choix1
mov cx,l_choix1
mov ah,40h
int 21h
mov bx,0001h
lea dx,choix2
mov cx,l_choix2
mov ah,40h
int 21h

;saisie de la valeur :
;---------------------

lea dx,choix
mov ah,0ah
int 21h


i_f: cmp choix,1
je addition
jne multiplication

;addition de N1 et N2
;--------------------
addition:
mov al, byte ptr N1+5
add al, byte ptr N2+5
aaa
mov Res1+6,al
mov al, byte ptr N1+4
adc al, byte ptr N2+4
aaa
mov Res1+5,al
mov al, byte ptr N1+3
adc al, byte ptr N2+3
aaa
mov Res1+4,al
mov al, byte ptr N1+2
adc al, byte ptr N2+2
aaa
mov Res1+3,al
mov al, 0
adc al, 0
mov Res1+2, al
mov dl,0ah
int 21h
je convers

;conversion du resultat pour l'affichage
;---------------------------------------

convers:
mov al, 00110000b
or byte ptr Res1+6,al
or byte ptr Res1+5,al
or byte ptr Res1+4,al
or byte ptr Res1+3,al
or byte ptr Res1+2,al
mov dl,0ah
int 21h
je resultat
resultat:
;affichage du 3e message
;-----------------------
mov bx,0001h
lea dx,message3
mov cx,l_message3
mov ah,40h
int 21h

;affichage du resultat de l'addition
;-----------------------------------
lea dx, Res1+2
mov cx,5
mov ah,40h
int 21h
je fin

;affichage du 4e message
;-----------------------
mov bx,0001h
lea dx,message4
mov cx,l_message4
mov ah,40h
int 21h

;multiplication de N1 et N2
;--------------------------
multiplication:

;affichage du resultat de la multiplication
;------------------------------------------


;fin de programme
;----------------
fin:
mov ah,4ch
int 21h

;-------------------------------------------
; declaration des messages
;-------------------------------------------
messagemenu db "faites votre choix :", 0dh, 0ah
l_messagemenu equ $-messagemenu

choix1 db "1-addition (par d,faut):", 0dh, 0ah
l_choix1 equ $-choix1

choix2 db "2-multiplication", 0dh, 0ah
l_choix2 equ $-choix2




message1 db "Saisir le 1er nombres (Maximum 4 chiffres):", 0dh, 0ah
l_message1 equ $-message1

message2 db 0dh, 0ah, "Saisir le 2e nombres (Maximum 4 chiffres):", 0dh, 0ah
l_message2 equ $-message2

message3 db 0dh, 0ah, "Le resultat de l'addition est:", 0dh, 0ah
l_message3 equ $-message3

message4 db 0dh, 0ah, "Le resultat de la multiplication est:", 0dh, 0ah
l_message4 equ $-message4

;-------------------------------------------
; declaration des variables
;-------------------------------------------

N1 db 5,?,5 dup(?)
N2 db 5,?,5 dup(?)
Res1 db 6,?,6 dup(?)
choix db 2,1,?

cseg ends

end main

---------------------------------

voila si vous pouvez m'aider ca serait génial parce que la je galère bcp trop. merci

vendredi 12 mars 2004 à 15:58:59 | Re : j'ai besoin d'aide pour 2 petit programme en asm

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

la fonction 40h de l'interruption 21h du DOS sert a ecrire dans un fichier.
pour sortie a l'ecran, essaie plutot la fonction 09h
!!! le caractere de terminaison doit etre '$' je crois.

@++

vendredi 12 mars 2004 à 16:03:56 | Re : j'ai besoin d'aide pour 2 petit programme en asm

gctom

alors en fait faut ke je change la facon d'écrire mes message c ca?

ca donnera un truc du style la ou pas :

messagemenu db "faites votre choix : $", 0dh, 0ah

avec :

mov ah,09h
int 21h


vendredi 12 mars 2004 à 16:19:24 | Re : j'ai besoin d'aide pour 2 petit programme en asm

patatalo

Membre Club Administrateur CodeS-SourceS

re

c bon car tu utilise le handle de sortie standard.
autant pour moi ;-)

vendredi 12 mars 2004 à 16:36:21 | Re : j'ai besoin d'aide pour 2 petit programme en asm

patatalo

Membre Club Administrateur CodeS-SourceS

re,

ici, pas de définition de la fonction utilisée (ah non défini):

mov al, 0 ; pourquoi faire ?
adc al, 0 ; " "
mov Res1+2, al ; tu met 0 dans ton Res1+2 ?
mov dl,0ah
int 21h
je convers


vendredi 12 mars 2004 à 16:44:14 | Re : j'ai besoin d'aide pour 2 petit programme en asm

patatalo

Membre Club Administrateur CodeS-SourceS

re,

convers:
mov al, 00110000b
or byte ptr Res1+6,al
or byte ptr Res1+5,al
or byte ptr Res1+4,al
or byte ptr Res1+3,al
or byte ptr Res1+2,al
mov dl,0ah <- mov ah,0ah ira mieux ici
int 21h
je resultat
resultat:

relit ton code car il y a des petites erreurs d'inattention sinon, tu est presque au bout du premier exo.

@++

vendredi 12 mars 2004 à 21:29:32 | Re : j'ai besoin d'aide pour 2 petit programme en asm

gctom

ben j'espère que j'ai bientot fini paske c pas évuident l'assembleur.

je galère a mort (j'ai eu a peu près une dizaine d'heure de cours et puis quelques heure de programmation)
mais j'ai trouvé ca relativement insuffisant. surtout pour réaliser une horloge !


et pour le mov al,0

ben avec un amis on a trouvé qu'en mettant ca, le résultat était de la bonne forme. enfin pour le moment on est très content de ca. par exemple en faisant 1211 + 4545 on obtient 05756 alors ke sans on obtient autre chose a la place du zéro.

mais je ne sais pas si cela est du a la partie ke l'on a rajouté.

samedi 13 mars 2004 à 09:41:32 | Re : j'ai besoin d'aide pour 2 petit programme en asm

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

5000 + 5000 te donne 00000 en resultat non ?

@++


1 2

Cette discussion est classé dans : arrive, aide, programme, permet, asm


Répondre à ce message

Sujets en rapport avec ce message

Aide nombre en asm 8086 16 bits [ par Maureka ] je suis debutant en asm intel 16 bits.j'ai un projet à réaliser et cela consiste à faire un programme qui affiche la liste des nombres premiers compri portabilité du code [ par sajid_morad ] salut tout le monde, je programme avec le visaul c++ , et j ai inserer un code asm dans mon programme, sashant que j ai un micro pricesseur pentium, v programme c et asm?? [ par manycalavera ] g 1 projet sur le bp led(bouton poussoir et lampe) et g du mal. Pouvez vous m'aidez?je dois appuyer sur le bouton poussoir et la lampe doit s'allumer Clavier [ par lelaure ] Bonjour,besoin d'aide pour mon clavier.j'ai transmis des actions a un programme a l'aide de la commande keybd_event(68,0,1,0); //touche enfoncé keybd_ Comment programmer l'ASM? [ par Tioneb ] Salut,je programme en VB et l'ASM (sous windows) m'interresse; mais je n'y connait pas grand chose! Si quelqu'un pouvait me dire avec quel logiciel on mettre une pause dans un programme en asm 68000 [ par biboucat ] ASM , systèmes d'exploitation [ par ilyenamagyar ] Bonjour , Voilà je programme déjà dans plusieurs languages et j'aimerais me mettre aux systèmes d'exploitation . J 'ai entendu dire qu'il fallait fai [aide] bug dans programme :) [ par ggmomo ] Bonjour Compilateur : masmOS : win xp homeTout d'abord avant d'exposer le probleme je tiens a remercier tout ceux sur l'autre sujet qui mon permis d'a HELP NEWBI [ par pepsidrinker ] Slt tlm. Je programme depuis quelque anné en VB, et maintenant, l'heure est venu pour moi d'apprendre ASM. Seulement, je n'ai AUCUNE notion d'ASM. Pou


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.