begin process at 2010 03 16 08:42:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

Afficher le contenu d'un registre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher le contenu d'un registre

vendredi 10 août 2007 à 15:45:46 | Afficher le contenu d'un registre

Anakinele

Bonjour !

Grand débutant en ASM je cherche 'simplement' (rien ne semble simple en asm !) à afficher dans la console le contenu d'un registre choisi au départ. Concrétement : si une interruption X renvoi un résultat dans le registre Y, comment afficher le contenu de ce registre ?
(J'utilise NASM).

Autre question (secondaire) tant que j'y suis : comment générer un fichier .EXE avec NASM ?

Merci d'avance !

Très amicalement, Anakinele (Membre depuis le 25/08/2004) !!!
vendredi 10 août 2007 à 22:10:34 | Re : Afficher le contenu d'un registre

ghuysmans99

Membre Club
Réponse acceptée !
Pour afficher le contenu des registres simplement ? Je n'en ai aucune idée ...

Pour créer un .EXE ?? Voilà !!
Pour Window$:

nasmw -fobj [tonfichier].asm
alink -oPE [tonfichier]

Pour M$-DOS:

nasm [tonfichier].asm
samedi 11 août 2007 à 12:19:46 | Re : Afficher le contenu d'un registre

Anakinele

Merci beaucoup ghuysmans99, ça marche impec !
Aussi dingue que ça puisse paraître, je n'avais trouvé aucun site où il était clairement et simplement expliqué comment générer un .EXE avec NASM !

Pour ma première question, si quelqu'un a la réponse ça m'intéresse évidemment toujours...

Très amicalement, Anakinele (Membre depuis le 25/08/2004) !!!
samedi 11 août 2007 à 12:39:52 | Re : Afficher le contenu d'un registre

Anakinele

Je me suis enthousiasmé un peu vite...
Lorsque je créé l'EXE du programme (dont le code est ci-dessous) puis que je le lance, j'ai le message d'erreur "[monprog].exe a rencontré un problème et doit fermer, etc..."

---------CODE---------- (Ce prog écrit simplement toutes les lettres de l'aphabet... oui je sais je débute !)
BITS 32           
SEGMENT .code       

..start:      ;J'ai rajouté ça après car j'avais le WARNING : "no entry point specified"

mov AX,3                ;Efface l'écran
int 10h

mov AL,'A'              ;Enregistre 'A'
mov AH,0Eh              ;Enregistre la fonction

Ecriture:     int 10h             ;Ecrit le caractère
              inc AL              ;Incrémente AL
              cmp AL,'Z'          ;Compare AL et 'Z'
              JBE Ecriture        ;Recommence si AL < 'Z'

mov AH,2                ;Place le curseur pour le txt 'Press any key...'
mov DX,2*256+0
int 10h

mov AX,4C00h            ;Fin du programme
--------------------------------------------------------------

Très amicalement, Anakinele (Membre depuis le 25/08/2004) !!!

samedi 11 août 2007 à 14:34:00 | Re : Afficher le contenu d'un registre

ghuysmans99

Membre Club
tu l'as bien compilé avec nasm [tonfichier].asm ??
_______________________________________________________________________
VB.NETis good ...VB6is better
samedi 11 août 2007 à 14:42:46 | Re : Afficher le contenu d'un registre

Anakinele

Oui, au niveau compilation je crois pas faire d'erreur...
J'ai refait un test avec un code épuré (voir ci-dessous) et je n'ai aucun message d'erreur à la compilation mais toujours la même erreur au lancement
---------CODE-----------
..start:

mov ah,09h
mov edx,message  ;J'ai mis EDX au lieu de DX car j'avais le message "Warning 32 bit offset in 16 bit field"
int 21h

mov ah,4ch
int 21h

message db 'Hello world',10,13,'$'
-----------------------------

J'ai suivi un tuto (Benoit M.) sous TASM en 16 bits. Je devais écrire mov dx,offset message y a-t-il un équivalent de "offset" sous NASM et celui-ci est-il nécessaire ici (c'est peut-être mon problème) ?

Merci d'avance !

Très amicalement, Anakinele (Membre depuis le 25/08/2004) !!!
samedi 11 août 2007 à 19:47:19 | Re : Afficher le contenu d'un registre

ghuysmans99

Membre Club
pour afficher une chaîne :

PrintStr:
;In  -> DS:SI=Str
;Out -> --
 Push ax
 Push bx
  .debut:
   Lodsb    ; ds:si -> al
   Cmp al,0    ; fin chaine ?
   Jz .fin
   Mov ah,0Eh    ; appel au service 0x0e, int 0x10 du bios
   mov bx,07h    ; bx -> attribut, al -> caractere ascii
   Int 10h
   Jmp .debut
   
  .fin:
   Pop bx
   Pop ax
Ret

_______________________________________________________________________
VB.NETis good ...VB6is better
dimanche 12 août 2007 à 11:52:05 | Re : Afficher le contenu d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS
salut,



ton code ne peux pas fonctionner, tu spécifie la directive [BITS 32] mais tu écris du code [BITS 16]. Il va te falloir apprendre et comprendre les diférents modes de fonctionnement du processeur x86 pour faire de l'asm.

il existe plein de codes 16 bits (pour BIOS/DOS) sur ce site et tu trouvera aussi quelques sources en 32 bits (pour Windows).

regarde cette source de nasman: http://www.asmfr.com/codes/EXEMPLES-SIMPLES-FICHIERS-ECRITS-AVEC-NASM_34175.aspx

@++
dimanche 12 août 2007 à 11:59:09 | Re : Afficher le contenu d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS





petite précision avec nasm:
nasm                     ;= tasm
mov ax,message    ;= mov ax,offset [message]
mov ax,[message]  ;= mov ax,[message]

@++

dimanche 12 août 2007 à 13:28:53 | Re : Afficher le contenu d'un registre

ghuysmans99

Membre Club
juste ... c'est en fait le code pour un secteur de boot ...

_______________________________________________________________________
J'ai glissé, chef !

1 2

Cette discussion est classée dans : afficher, contenu, asm, registre, nasm


Répondre à ce message

Sujets en rapport avec ce message

affichage du contenu d'un registre général [ par did2604 ] Bonsoir,Quel est le code qui permet d'afficher le contenu d'un registre général (bx par exemple). Exemple, le registre BX contient la valeur 3F8 et j' [NASM] émulateur NES [ par sirozz ] Bonjour à tous,Je me lance dans la programmation d'un émulateur de console NES en ASM avec NASM. J'avais déja fait un émulateur NES en VB il y a quelq Afficher une MessageBox avec nasm [ par Ayorosmage ] Salut à tous comme le titre l'indique j'aimerai savoir comment on peut afficher une messagebox toute simple (qui dit bonjour par exemple) avec nasm (u Afficher le compilateur NASM [ par cybarre ] Le lancement de nasmw.exe ne donne rien sous XP.Merci de m'aider dans mes premiers pas. Afficher un nombre conteu dans un registre [ par RootASM ] bonjour,J'aimerais afficher le nombre de caractere d'un chaine de caractere mais je ne sais pas comment m'y prendre. Sur le site il y a des messages m Pas de conversion [ par noel70 ] Bonjour à tous.Est-ce que quelqu'un saurait il comment on peut faire pour afficher dans une zone de texte, le contenu d'une adresse memoire.Je m'expli Afficher valeur registre ? [ par Zootella ] Hello all, dans un programme, celui-çi test la valeur d'un registre : cmp  dword ptr [eax],4550h je voudrais faire des tests et afficher cette vale nasm - mémoire read-only [ par Funto66 ] Bonjour,je suis en train d'écrire des tutoriaux pour le site Coder-Studio (http://www.coder-studio.com/?page=tutoriaux) mais pour la création du tutor Resources et nasm [ par TRAX44 ] Bonjour,je débute en asm et j'ai quelques problèmes avec les .rc (resources). Si quelqu'un pouvait m'éclairer. Et très impotrant, je travail sous NASM Equivalent ASM de chaine[0] = 0 [ par AlexMAN ] Bonjour, C'est simplement une ptite incertitude : pour l'ekivalent de chaine[0] = 0 en C: mov [chaine], 0 ou mov chaine, 0Ou bien c totatelment la mm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales