Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2303 connectés 

  FORUM HardWare.fr
  Programmation

  [ASSEMBLEUR] Petits exercice pour débutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASSEMBLEUR] Petits exercice pour débutant

n°114261
fabd
Posté le 19-03-2002 à 16:53:36  profilanswer
 

exo 1
 
Il s'agit de modifier le programme suivant pour qu'il affiche la question "somme nous l'apres midi (O/N) ?"
Le programme lit ensuite une touche au clavier et selon la réponse de l'utilasatieur afficher le message "deja debout de si bon matin !" ou "un bel apres midi ne trouvez vos pas ?"
 
 
DOSSEG
.MODEL small
.STACK 100h
.DATA
 MsgBonjour DB 'Bonjour,monde',13,10,'$'
.CODE
 mov ax, @data
 mov ds,ax
 mov ah,9
 mov dx, OFFSET MsgBonjour
 int 21h
 mov ah,4Ch
 int 21h
END
 
 
Voila pour le 1er exercice.
 
Il a l'air facile a réaliser...
 
Par contre, le suivant :/
 
exo 2
 
Il s'agit d'ecrire un programme assembleur qui lit une chaine de caractere au clavier, et affiche cette mem chaine converties en majuscules, puis en minuscule.
 
Exemple :
chaine saisie : AaBcdEF
chaine en maj : AABCDEF
chaine en min : aabcdef
 
chooooo :/
 
Vous m'aidez ? :)

mood
Publicité
Posté le 19-03-2002 à 16:53:36  profilanswer
 

n°114333
k1200
Posté le 19-03-2002 à 17:55:49  profilanswer
 

Ah lala...
 
Pour le 2eme tu teste lettre par lettre si deja en maj et si non tu rajoute la difference qu'il y a dans la table ASCII (les lettres ce suive)

n°114346
Cherrytree
cn=?
Posté le 19-03-2002 à 18:05:00  profilanswer
 

Question : est-ce qu'il y a moyen de faire de l'ASM sans un émulateur, directement sur son pentium ? Gratuitement ?

n°114380
fabd
Posté le 19-03-2002 à 19:10:01  profilanswer
 

k1200 a écrit a écrit :

Ah lala...
 
Pour le 2eme tu teste lettre par lettre si deja en maj et si non tu rajoute la difference qu'il y a dans la table ASCII (les lettres ce suive)  




 
Ah, pas bete :)
 
Les autres idées sont les bienvenues :)

n°114474
bjbebert
Posté le 19-03-2002 à 22:04:58  profilanswer
 

La différence entre majuscule et minuscule, c'est juste un bit (je crois)
- convertir en minuscule : OR 20h (positionne le bit)
- convertir en majuscule : AND DFh (met à 0 le bit)
 
Ca t'évite de faire des conditions.

n°114653
fabd
Posté le 20-03-2002 à 08:42:39  profilanswer
 

:)  
 
 :hello:

n°114790
k1200
Posté le 20-03-2002 à 11:06:13  profilanswer
 

Pour la convertion ca doit fonctioner avec le bit... il y a 32 de diff entre les maj et les minuscule...
 
Pour un compilateur tu peux utiliser celui qui est avec le pascal (je crois que on le trouve gratuitement sur le site de borland) mais je ne me souvient plus du nom...

n°114898
HelloWorld
Salut tout le monde!
Posté le 20-03-2002 à 13:10:38  profilanswer
 

Je crois que cet exo est résolu dans un petit bouquin genre 10 eros (y'a pas la touche euro sur ces clavier de ******)
pour un code plus portable, encore que peut on en parler en assembleur, plutot que d'ajouter 32 (ou 20h), ajoute : 'A' - 'a'
 
ca te donne directement l'ecart majuscule/minuscule, ca marche avec l'ASCII et l'EBCDIC ...
 
de meme quand tu compares la lettre a mettre en majuscule, utilise les lettres directement (si comprise entre a et z mettre en majuscule sinon rien faire ...)
 
par exemple, si AL contient la lettre a mettre en majuscule

Code :
  1. cmp AL, 'A'
  2. au lieu de
  3. cmp AL, 65h


 
 
Cherrytree> j'ai pas compris ta question ... tu fais de l'assembleur via un émulateur alors que tu as un pentium ? Et tu payes ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°114901
HelloWorld
Salut tout le monde!
Posté le 20-03-2002 à 13:13:39  profilanswer
 

oups, ratage ...
c'est 'a' - 'A' et non l'inverse ... :)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°114902
Cherrytree
cn=?
Posté le 20-03-2002 à 13:14:15  profilanswer
 

Non, en fait j'ai fait de l'assembleur sur 68HC16, qui réclame un émulateur. Mais maintenant, ce que j'aimerai c'est faire de l'assembleur x86. Comme j'en ai jamais fait, je ne sais pas bien ce que cela implique comme engagement (financier, formation). Je me doute qu'il y a des solutions gratuites, mais je ne les connais pas et plus simplement je n'y connais rien en x86. Des tuyaux ? Des conseils ? Des bonnes habitudes à prendre ?

mood
Publicité
Posté le 20-03-2002 à 13:14:15  profilanswer
 

n°114915
HelloWorld
Salut tout le monde!
Posté le 20-03-2002 à 13:35:09  profilanswer
 

ah, tu veux dire que tu a fait de l'assembleur non x86 depuis ton x86.
La c'est normal, il faut un émulateur
Mais faire de l'assembleur x86 sur un x86, pas besoin d'émulateur puisque ton processeur execute direct le code
tu compiles (ouai ouai assemble ...) et t'obtiens un exe.
Tu le lances et t'oberves ...
Un executable, c'est grossomodo du code assembleur !
Tu peux le déssassembler et voir le source (en assembleur)
Si t'es familier avec la programmation Windows, tu peux faire de l'assembleur 32 bits pour Windows
sinon, ou si t'as envie de bidouiller un peu, tu bosses sous DOS
De ton choix dépend le compilo utilisé : tasm ou tasm32 par exemple ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°114921
Cherrytree
cn=?
Posté le 20-03-2002 à 13:39:58  profilanswer
 

OK, cool.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [ASSEMBLEUR] Petits exercice pour débutant

 

Sujets relatifs
Routine assembleur dans prog en C[open gl débutant] g un p'tit problème pour commencer(install de GLUT)
[Debutant] Problème PHP après installationon fait comment pour creer des petits executables pour windows??
[C] Petit exercice ...Aidez un débutant en Java SVP
[JAVA] truc bizarre pour debutant en applet...j'ais un bouquin a vendre sur l' assembleur graphique, ca interesse ..
assembleur et C/C++ variable commune[debutant C++] question sur les caractères..
Plus de sujets relatifs à : [ASSEMBLEUR] Petits exercice pour débutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR