begin process at 2010 02 10 01:02:37
  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


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,842 sec (3)

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