Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > x86 16-bits
x86 16-bits Architecture x86 16 bits et ses outils (assembleurs, debuggers, émulateurs...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/06/2012, 19h30   #1
lamtey
 
Homme lam lam
Inscription : mai 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme lam lam
Localisation : Côte d'Ivoire

Informations forums :
Inscription : mai 2012
Messages : 2
Points : -1
Points : -1
Par défaut Programmation en assembleur 8086

slt à tous. je suis un débutant en assambleur 8086. je vous sollicite afin ke vous puissez m'aider à écrire un p'ti programm en assembleur. le sujet s'intitule comm suit:

programme à écrire:

on entre une note (nombre < 20)
si note > 12 alors afficher 'admis'
si note < 8 alors aficher 'redouble'
si note > 8 et < 12 alors afficher 'test de rattrapage'

aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.
lamtey est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 02/06/2012, 20h01   #2
MarieKisSlaJoue
Membre éclairé
 
Avatar de MarieKisSlaJoue
 
Homme
Développeur Java
Inscription : mai 2012
Messages : 191
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2012
Messages : 191
Points : 357
Points : 357
Envoyer un message via Skype™ à MarieKisSlaJoue
Salut,

Il faut que tu donne le code que tu à déjà fait, surtout la partie qu'il ne fonctionne pas. ça nous permettra de voir l'erreur que tu as pu faire et te la corrigé. Parce que à part te dire que tu dois vérifier tes conditions on ne peux pas faire grand chose.
MarieKisSlaJoue est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2012, 17h29   #3
lamtey
 
Homme lam lam
Inscription : mai 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme lam lam
Localisation : Côte d'Ivoire

Informations forums :
Inscription : mai 2012
Messages : 2
Points : -1
Points : -1
Par défaut assambleur 8086

wè t'as raison . voici le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<<
DOSSEG				; modèle de segmentation du DOS
 
.MODEL	SMALL			; petit modèle de mémoire
 
.STACK	100H			; 100H=256 octets pour la pile
 
Data segment
msg db "saisir caractere" , 13,10, "$"
msg1 db "le caractere saisi: ", 13,10, "$"
Data ends
pile segment stack
db 80 dup (?)
pile ends
code segment
assume CS: code, DS: Data, SS: pile
 
main :
mov ax, Data
mov ds, ax
mov ax, pile
mov ss, ax
mov cx, 1
 
mov DX, offset msg
mov AH,09 ; saisie
int 21h ; le caractère lu arrive dans AL
mov DL,AL
mov AH,7
int 21h
mov ah,al
 
mov AH, 4ch
int 21h
 
mov DX, offset msg1
mov AH, 09
int 21h
mov DL, AH
int 21h
 
mov AH, 4ch
int 21h
code ends
end main
>>
le programme affiche : saisir un caractère. lorsque je saisie il ne fai pus rien.
merci d'avance pr ton aide
lamtey est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/06/2012, 19h15   #4
Mat.M
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 448
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2006
Messages : 4 448
Points : 5 863
Points : 5 863
Citation:
Envoyé par lamtey Voir le message
on entre une note (nombre < 20)
si note > 12 alors afficher 'admis'
si note < 8 alors aficher 'redouble'
si note > 8 et < 12 alors afficher 'test de rattrapage'

aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
mov ax,12
cmp ax,note_rentree ; doit etre dans le registre AH ou AL apres appel interrup
jg afficher_admis
mov ax,8
cmp ax,note_rentree 
jl afficher_redouble
 
; note sup a 8 et inf a 12
mov dx,message_test_rattrapage
mov AH,09
int 21h
ret ; ou bien code ends
afficher_admis:
mov dx,message_admis
mov AH,09
int 21h
Citation:
Envoyé par lamtey Voir le message
aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.
les interruptions du DOS c.a.d. 21h je ne m'en souviens plus trop bien.
Mais si tu as des problèmes c'est que tu appelles les mauvaises , tu charges les mauvaises valeurs dans AH et AL.
Attention à la saisie clavier de saisir les bons caractères si caractère est compris entre 0 et 9
Tu dois faire une comparaison avec cmp ( mais il y a aussi une instruction de comparaison et de saut ) et avec jl ou jg pour aller vers une étiquette qui va t'afficher un message d'erreur de saisie
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h36.


 
 
 
 
Partenaires

Hébergement Web