Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 31 May 2004 13:06:42

Bija
Membre Communauté Graph100
Lieu: Nord de la France
Date d'inscription: 20 Apr 2004
Messages: 240
Site web

quelques questions sur l'assembleur

Bonjour j'ai commencé à apprndre l'assembleur et j'ai quelques questions :
existe-t-il une fonction donnant un nombre aléatoire (comme random) ?
comment redémarrer la calculatrice (j'ai essayé l'interruption 19h mais ca avais pas l'air de marcher) ?

connaissez vous d'autres bons tutoriaux en assembleur (je connais deja http://opecheux.free.fr/abcp) ?

merci


" Ignorer l'impossiblité de ce que l'on tente reste l'un des ingrédients essentiels de la réussite "

Hors ligne

 

#2 31 May 2004 13:51:56

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: quelques questions sur l'assembleur

ben moi g tout appris sur abcp smile ensuite j'ai experimenté moi-même ^^

sinon pour le generateur de nombre "aleatoire" faut le faire soi meme (chaud !) ou alors tu cherches sur le net.
je me souviens qu'il y en avait un avec le Art Of Assembly je dois l'avoir... si oui je le mets sur le forum

enfin pour rebooter il suffit juste de faire un jump à l'adresse FFFF:0000, mais apparament certains ont des problemes en le faisant.

Hors ligne

 

#3 31 May 2004 14:04:22

Bija
Membre Communauté Graph100
Lieu: Nord de la France
Date d'inscription: 20 Apr 2004
Messages: 240
Site web

Re: quelques questions sur l'assembleur

d'acord merci je vais essayer ca pour le reboot
sinon pour le nombre aléatoire je crois que je vais essayer l'horloge interne (mais bon c'est pas la joie !)

c'est quoi le Art of Assembly ?


" Ignorer l'impossiblité de ce que l'on tente reste l'un des ingrédients essentiels de la réussite "

Hors ligne

 

#4 31 May 2004 14:15:57

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: quelques questions sur l'assembleur

http://webster.cs.ucr.edu/AoA/DOS/index.html

le art of assembly est un gros bouquin electronique en anglais sur l'assembleur x86
il y a trois versions: windows(32bits), linux(32bits bien sur ^^), et DOS(16bits) celui qui peut nous interesser dans le cadre de la graph100.
ce bouquin n'est pas juste fait pour apprendre l'assembleur, il est aussi une reference pour la programmation PC. Ensuite il y a des chapitres qui servent ou non: il m'arrive assez souvent de me referer aux chapitres sur les interruptions BIOS et DOS.
la Art Of Assembly language est "livré" avec une bibliotheque contenant de fonctions bien utiles (sous forme de code source) dont la generation de nombres aleatoires, mais aussi des fonctions d'ouverture/fermeture de fichiers par exemple.

Hors ligne

 

#5 01 Jun 2004 08:11:21

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: quelques questions sur l'assembleur

Tiens moi j'ai appris avec ca :
c simple et bien expliqué...
par contre ya pas d'exemple, donc fo experimenter par soi meme :

http://www-ipst.u-strasbg.fr/pat/memo8088.htm


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#6 01 Jun 2004 14:05:20

Bija
Membre Communauté Graph100
Lieu: Nord de la France
Date d'inscription: 20 Apr 2004
Messages: 240
Site web

Re: quelques questions sur l'assembleur

merci beaucoup je lirai ça quand j'aurai le temps ( et le courage!)
mais pour aller à l'adresse FFFF:0000 je dois juste faire un jmp ou alors je dois écrire qqch à cette adresse ?

au fait je me demandais si Swifter pourrais me passer les sources de chess (je vais pas les diffuser, c'est juste pour voir comment c'est fait : représenter l'échiquier, recherche des mats ...)

merci


" Ignorer l'impossiblité de ce que l'on tente reste l'un des ingrédients essentiels de la réussite "

Hors ligne

 

#7 01 Jun 2004 14:12:40

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: quelques questions sur l'assembleur

faut faire un jump à cette adresse

Hors ligne

 

#8 02 Jun 2004 06:07:52

Bija
Membre Communauté Graph100
Lieu: Nord de la France
Date d'inscription: 20 Apr 2004
Messages: 240
Site web

Re: quelques questions sur l'assembleur

merci ca marche !

quant au nombre aléatoire ...
je crois que je vais pas faire de programme en asm pur !!


" Ignorer l'impossiblité de ce que l'on tente reste l'un des ingrédients essentiels de la réussite "

Hors ligne

 

#9 02 Jun 2004 06:39:18

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: quelques questions sur l'assembleur

bonne résolution  wink

Hors ligne

 

#10 02 Jun 2004 17:10:45

ymorgan
Membre
Date d'inscription: 10 Apr 2004
Messages: 35

Re: quelques questions sur l'assembleur

avec mon émulateur y doit y avoir un démineur en asm avec un générateur aléatoire voici le code (basé sur celui de borland ou visual je sais plus) :
Rand:
    push    si                  ;
    push    bx                  ;
    mov     ax,WORD[wRandLO]    ;
    mov     dx,WORD[wRandHI]    ;
    mov     bx,0x43FD           ;
    mov     cx,0x0003           ;
    xchg    si,ax               ;
    xchg    dx,ax               ;
    mul     bx                  ;
    xchg    cx,ax               ;
    mul     si                  ;
    add     ax,cx               ;
    xchg    si,ax               ;
    mul     bx                  ;
    add     dx,si               ;
    add     ax,0x9EC3           ;
    adc     dx,0x0026           ;
    mov     WORD[wRandLO],ax    ;
    mov     WORD[wRandHI],dx    ;
    mov     ax,dx               ;
    pop     bx                  ;
    pop     si                  ;
    ret                         ;

le nombre est récupéré dans ax
wRandLO et wRandHi sont à initialisé au début du prog avec l'horloge par exemple.

Hors ligne

 

#11 03 Jun 2004 02:54:19

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: quelques questions sur l'assembleur

j'en ai un assez simple en C, qui vient des sources de la librairie C digital mars

Code:


#include    <stdlib.h>
#include    <time.h>

static unsigned long int next = 1;
#define step_next (next = next * 1103515245 + 12345)

int __CLIB rand(void)
{
    step_next;
    return ((unsigned int) (next / 0x10000) & 0x7FFF);
}

int __CLIB random (int num) // negative arguments treated
                    // as unsigned
{
        step_next;
    
    return ((long) (next / 0x10000) * (unsigned)num) >>
            16;
}

void __CLIB srand(unsigned int seed)
{
    next = seed;
}

void __CLIB randomize (void)
{
    next = (unsigned long)time(NULL);
}

il est plus facile a comprendre, mais par contre c assez lourd de gerer les long en asm

Hors ligne

 

#12 03 Jun 2004 03:49:28

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: quelques questions sur l'assembleur

hum passer les sources de chess...
je sais ps je vais voir...
le probleme c que c le gros bordel et que tu av rien comprendre...
a moins de t'acharner comme un taré...
enfin passe ton email je vais t'envoyer ca


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#13 03 Jun 2004 05:34:23

Bija
Membre Communauté Graph100
Lieu: Nord de la France
Date d'inscription: 20 Apr 2004
Messages: 240
Site web

Re: quelques questions sur l'assembleur

bah c'est pas grave si c'est compliqué, je suis pret à m'acharner dessus
pour mon adresse e-mail c'est stephane.bijakowski@wanadoo.fr
merci


" Ignorer l'impossiblité de ce que l'on tente reste l'un des ingrédients essentiels de la réussite "

Hors ligne

 

#14 03 Jun 2004 06:44:18

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: quelques questions sur l'assembleur

bon c envoyé...
si ya un probleme dis le moi


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#15 03 Jun 2004 07:52:48

ymorgan
Membre
Date d'inscription: 10 Apr 2004
Messages: 35

Re: quelques questions sur l'assembleur

le code ASM que j'ai mis correspond en fait à cette formule :

next = next * 214013L+2531011L;
return (next>>16)&0xFFFF;

avec "simplification" de la multiplication des long (les cas particuliers sont virés)

Hors ligne

 

#16 04 Jun 2004 07:21:11

nykosledieu
Team G100
Lieu: Strasbourg
Date d'inscription: 29 Jan 2002
Messages: 3028
Site web

Re: quelques questions sur l'assembleur

a noter ke ca vient de chez moi ;-)
u-strasbg.....
héhé


Nykosledieu
nykosJEMMERDELESPAM@graph100.com - http://team.graph100.com
Venez sur le chat !!

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr