language ASM - ASM - Programmation
Marsh Posté le 02-04-2010 à 10:32:14
Utilise plutot les balises [ code ] stp, pour poster du code :
Code :
|
Marsh Posté le 02-04-2010 à 10:48:32
(les numéros de ligne que je donne font référence à ta capture, et pas à celles du post au dessus du mien)
xymahis a écrit :
|
ligne 14 : tu initialises toujours AL à 65, donc tu auras beau l'incrémenter à la fin de ton programme, tu n'afficheras toujours que "A"
xymahis a écrit :
|
quelques remarques sur ton programme :
- les lignes 13 à 16 sont inutiles, car tu écriras de toute façon ton caractère avec la fonction 09h, inutile d'appeler 0eh, ça ne fera que te rajouter un caractère de plus
- ligne 21 : pourquoi ce "mov al,al" ??? totalement inutile, puisque al est déjà initialisé.
- ligne 24 : ce n'est pas ici qu'il faut incrémenter la couleur, mais une fois le caractère affiché
- lignes 28 à 30 : comme dit précédemment, tu peux toujours incrémenter la lettre à afficher, mais si tu laisses AL à 65, tu n'afficheras que "A"... de plus, ton jle revient au début du programme, c'est inutile.
enfin il te manque l'appel à int 10h/02h pour définir la position du curseur et aller à la ligne suivante une fois les 40 caractères affichés
Marsh Posté le 02-04-2010 à 11:37:55
Bonjour,
tt d'abord MERCI
Citation : mais si tu laisses AL à 65, tu n'afficheras que "A". |
donc faut pas initialiser AL à 65 ???!!
j'a régler le prog vite fait, mais tjrs lors de l'incrémentation y a un prob
si vs pouvez me donner un exemple en ce qui concerne l'étape de l'incrém.
le voilà
Code :
|
Marsh Posté le 02-04-2010 à 14:10:12
xymahis a écrit :
|
si, mais ne le faire qu'une seule fois. toi tu le fais à chaque fois que tu passes dans ta boucle start, donc il est toujours égal à 65, ce qui fait que tu n'auras que la lettre "A" qui s'affichera.
il faut l'initialiser en dehors de toute boucle.
xymahis a écrit :
le voilà [...] |
tu es complètement désordonnée... en assembleur, il faut absolument de la rigueur et de l'ordre.
commence par te poser la question suivante : quelles sont les valeurs qui varieront, et quelles sont les valeurs qui ne varieront pas ?
ce qui variera :
- la couleur (stockée dans bl)
- le caractère (stocké dans al)
- la ligne (stockée dans dh)
ce qui ne variera pas :
- le nombre de caractères/ligne (40, stocké dans cx)
- la colonne (toujours 0, stockée dans dl)
ton programme aura donc la structure suivante :
Citation :
ligne: fin: |
voilà. toute l'ossature est là. ton programme, je viens de le faire et il fonctionne très bien avec cette ossature. comme je suppose que c'est un devoir, je ne te le donnerais pas tout fait, mais n'hésite pas à me poser toutes les questions que tu veux.
Marsh Posté le 04-04-2010 à 00:00:11
Merci pour l'aide, ^^
vraimment ça m'a aidé bcp,
Citation : tu es complètement désordonnée |
oui t'as raison, parceque ce demi module (architecture des ordi) est bien chargée, alors qu'on a fait une seul séance d'1h
dans ce language (le plus proche de la machine que l'être humain) par contre le C (qui est bien facile on a l'étudier pendant 1ans
alors je ss dsl si je te fais mal par ces bêtes questions, ^^
mais bon merci bien, ta 2ème réponse m'a aidé bcp, puiske tu m'as bien donné les étapes avant entamé l'écriture du prog
et pr info ,, ce n'est pa un devoir c juste une série de 9 exercices que notre prof nous l'a donné aprè la séance d'1h
et en tt cas t'inkiète pa, moi aussi j'aime pa lé solution prêtes, j'aime plutôt les indications.
Merci encore une
je vais essayer une autre fois à écrire le prog et je re ^^
Marsh Posté le 04-04-2010 à 09:07:49
Il faudrait aussi étudier l'emploi d'un correcteur orthographique, car je n'accepterai pas ce niveau d'erreur dans vos posts ultérieurs.
Marsh Posté le 04-04-2010 à 13:59:54
ce sont juste des abréviations pour faciliter la tâche !!
Bon, d'accord, ce que vous voulez, j'adapte tous ça.
Merci,
Cordialement
Marsh Posté le 04-04-2010 à 15:01:18
Bonjour,
finalement ça marche bien plutôt très bien,
au début j'ai eu plusieurs fautes en ce qui concerne toujours les boucles, mais avec la compilation j'ai bien maitrisé les fautes qu'elles existent
bien évidemment c'est à cause de ton aide, je te remercie infiniment
le voilà mon dernier code qui marche bien.
une fois le programme marche, j'ai modifié les données
les caractère de A -> Z
j'ai incrémenté aussi la colonne (j'ai eu un affichage sur la diagonale)
Code :
|
Marsh Posté le 06-04-2010 à 01:18:18
Ligne 6, ces deux lignes peuvent être simplifiées
mov ah, 00h
mov al, 03h
ainsi que ces deux lignes :
mov dh,0
mov dl,0
Marsh Posté le 01-04-2010 à 22:09:38
Bonsoir,
jé dé kestions concernant le language assembleur (asm 8086)
je ss débutante, j'ai essayé d'ecrire kelk simple programme, mais j'arrive pa à les ecrire correctement
j'ai un prob au niveau de l'incrémentation, et de réaliser une boucle
bon voilà un tit prog (simple)
Entrées/Sorties Interruption 10h du BIOS
prog ki place l'écran en mode texte(03h) et affiche lé 16 caractères de l'alphabet,chacun sur une ligne, chacun répété 40 fois et chacun avec une couleur différente sur fond noir (on commence avec la couleur 0 et on incrémente )
j'ai entamé d'ecrire ce programme mé j'arrive tjrs pa à réaliser les instructions d'incrémentation
Merci d'avance