PureBasic

Forums PureBasic
Nous sommes le Mer 21/Aoû/2019 6:00

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 
Auteur Message
 Sujet du message: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 14:09 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3426
j'essaye toujours de comprendre l'asm , mais là , moi pas comprendre l'erreur.
en gros , il ne trouve pas le label...

Code:
A=0
B=0


MOV [v_A], $2D
MOV [v_B], $40
MOV EBX,v_A
CMP EBX,v_B
JNZ MyLabel
MOV EBX,v_A
INC EBX
MOV [v_A],ebx
MyLabel:

Debug A
Debug B


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 14:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4222
Localisation: Arras, France
Comme ça ça ira mieux
Code:
A=0
B=0
calldebugger

MOV [v_A], $0000002D
MOV [v_B], $00000040
MOV EBX,v_A
CMP EBX,v_B
JE MyLabel
MOV EBX,dword[v_A]
INC EBX
MOV dword [v_A],ebx
!MyLabel:

Debug A
Debug B


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 14:52 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
j'ai meme pas pu commencer a regarder , chez moi ça refuse de se lancer !!



avec des le depart une erreur "undifined symbole V_A" :roll:

(assembleur activé)

meme ta correction Djes


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 15:32 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4222
Localisation: Arras, France
Tu dois avoir un truc qui change la casse des variables.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 16:42 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
djes a écrit:
Tu dois avoir un truc qui change la casse des variables.


arg !! effectivement dans Japbe !! "Autre option" / changement de casse automatique! :roll:

je me demande a quoi peut servir cette option dans notre éditeur , si celle ci limite l'assembleur :roll:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 17:20 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3426
Merci Djes !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 17:29 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3426
Autre question Djes ,
l'instruction PUSH , pousse un registre au sommet d'une pile LIFO , jusque là pas de problème
on récupère le sommet de la pile avec un POP , un coup de MOV est on dégage le resultat dans une variable pb.


Citation:
Last.i=0

MOV EBX ,1 : PUSH EBX
MOV EBX ,2 : PUSH EBX
MOV EBX ,3 : PUSH EBX
MOV EBX ,4 : PUSH EBX

POP EBX : MOV DWORD[v_Last] , EBX : Debug Last
POP EBX : MOV DWORD[v_Last] , EBX : Debug Last
POP EBX : MOV DWORD[v_Last] , EBX : Debug Last
POP EBX : MOV DWORD[v_Last] , EBX : Debug Last


Ou est physiquement la pile ? la ram ? une unité dans le processeur ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Ven 25/Juin/2010 18:18 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4222
Localisation: Arras, France
En RAM.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Jump & label ( undefined symbol )
MessagePosté: Dim 26/Sep/2010 21:30 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3483
La pile est pointée par le registre ESP et est "à l'envers" dans la mémoire... C'est le seul moyen de retrouver les infos stockées dedans...

Aussi l'instruction...
Code:
PopZob

...s'écrit comme ça:
Code:
ADD ESP, 4




Sinon, dans un listing de code, je trouve qu'il s'agit d'une bonne technique de considérer l'analogie entre les manips de la pile (entre autres) et les alinéas (entre autres, aussi). (Pas de manière purement stricte, sinon c'est trop lourd!)

Après... Chacun voit comme il le sent Midi à sa porte ! :D

Code:
;{ Une allure plus "chorégraphique" }

      EnableExplicit
      DisableDebugger
      EnableASM
      Define.S Text$

      Macro Qu()
            "
      EndMacro

      Macro Ack(VariableName)
            Text$ + Qu()VariableName = Qu() + Str(VariableName) + Chr(10)
      EndMacro
;}

Define.I V0, V1, V2, V3

; >>>>>> Ceci... <<<<<<


PUSH 1
      PUSH 2
            PUSH 3
                  PUSH 4

                  POP V0
            POP V1
      POP V2
POP V3

Ack(V0)
Ack(V1)
Ack(V2)
Ack(V3)
MessageRequester("Sortie ASM", Text$)     

; >>>>>> ...égale cela (sans EAX) <<<<<<


SUB ESP, 4
MOV EAX, 1
MOV [ESP], EAX
      SUB ESP, 4
      MOV EAX, 2
      MOV [ESP], EAX
            SUB ESP, 4
            MOV EAX, 3
            MOV [ESP], EAX
                  SUB ESP, 4
                  MOV EAX, 4
                  MOV [ESP], EAX
     
     
                  MOV EAX, [ESP]
                  MOV V0, EAX
                  ADD ESP, 4
            MOV EAX, [ESP]
            MOV V1, EAX
            ADD ESP, 4
      MOV EAX, [ESP]
      MOV V2, EAX
      ADD ESP, 4
MOV EAX, [ESP]
MOV V3, EAX
ADD ESP, 4

Ack(V0)
Ack(V1)
Ack(V2)
Ack(V3)
MessageRequester("Sortie ASM", Text$) 

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye