Logicielsmoto.com

Nous sommes le 28 Mar 2024, 19:45

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 281 messages ]  Aller à la page Précédente  1 ... 9, 10, 11, 12, 13, 14, 15 ... 19  Suivante
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 06 Mar 2020, 13:13 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Ah super cool merci.

Je vais pouvoir créer mon propre binaire de mes graphismes maintenant, avec les datas rangés dans le même ordre que mes FCB.
donc ici j'ai pas besoin du 1er bloc binaire !
je commence donc par

Code:
00 1f 80 a0 00 [et mes 8000 octs correspondants aux valeurs de mes FCB]


Evidement j'adapterais le 1f80 en fonction du nombre de valeurs après le a000

Ca devrait le faire. merci.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 06 Mar 2020, 13:52 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Attention aussi au dernier bloc (celui de fin de fichier). Là tout de suite je ne me souviens plus de son contenu, mais je crois qu'il est du type
Code:
$FF   --> fin de fichier
$0000 --> pas de données
$EXEC --> adresse d'exec ($0000 si indéfini)
donc en fin de fichier binaire on trouvera typiquement $FF $00 $00 $00 $00.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 06 Mar 2020, 14:50 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
oui ta raison, j'ai regardé un des fichiers .BIN,

y'a bien "FF 00 00 00 00" à la fin.

merci.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 09 Mar 2020, 11:50 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Bonjour,

p'tit question, si on à ex: du code comme ceci :

"*" : veux dire adresse courante ?
+5 : 5 instructions plus loin ??

Code:
....
..
BEQ *+5
.....
...
.....
...     c'est ici le *+5 ??
.....   ou ici ??         (bon je pense que c'est ici)
...
.....
...


c'est un branchement relatif ?

merci...

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Mar 2020, 08:27 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
L'astérisque représente la valeur du registre PC. Pour une instruction donnée, PC contient l'adresse de l'instruction suivante.
Avec une expression arithmétique, par exemple *+12, on désigne l'adresse 12 octets plus loin. (12 octets, pas 12 instructions).
Dans l'exemple donné avec *+5 les deux propositions sont fausses. Le branchement se fait à la deuxième instruction suivant le BEQ.

Code:
....
..
BEQ *+5
.....
...       <----- branchement ici
.....
...     
.....   
...
.....
...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Mar 2020, 12:22 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
oh! ha ok.

Est ce que ça veux dire que je dois convertir en opcodes (tous en valeur Hex.) ma partie du code, pour savoir à combien d'octets se trouve l'endroit
où je dois "brancher" ?

pour bien comprendre par exemple ici :

Code:
    ...
    MUL
    MUL
    TST <$E7E7
    BPL *-7
    MUL
    MUL               
    MUL
    MUL
    MUL                 <-- c'est là ?
    TST <$E7E7
    BMI *-7
    ...

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Mar 2020, 14:05 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
L'adressage relatif à PC est source d'erreur si on compte mal les octets, si on enlève, si on ajoute ou si on modifie des instructions. Pour preuve je crois que dans l'exemple donné le BPL *-7 n'est pas bon, c'est BPL *-5 si DP=$E7. En effet MUL (1 octet), TST <$E7E7 (2 octets), BPL (2 octets). Il faut remonter de 5 octets et pas 7.

La pratique le plus courante est d'utiliser des labels pour éviter de compter les octets (et de se tromper).

Code:
  ...
    MUL
TEST1
    MUL
    TST  <$E7E7
    BPL  TEST1
    MUL
    MUL               
    MUL
    MUL
TEST2
    MUL     
    TST  <$E7E7
    BMI  TEST2
    ...


Remarque : Dans ce bout de code, quel est l'intérêt des MUL ? On peut parfois utiliser des MUL pour faire des temporisations, mais ici on teste le bit 7 de $E7E7, il n'est pas utile de temporiser.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Mar 2020, 15:15 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ok merci, je comprends mieux.

il y a le code source asm de la demo sur la disquette "demo-thomtest-sorcery_to8.fd"

Je voulais décortiquer la partie "****Formule Magique, Merci Doc.****" pour comprendre ce que c'est !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 12 Mar 2020, 22:41 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Bonjour,

:voyons: y'a pas moyen de faire un branchement conditionnel avec retour (RTS) ?

exemple, incrémenter un score de plusieurs endroits du code sous condition (après un CMP)!

Code:
        ....
        CMPA #2
         JSR SCORE_1           <-??????     
        ...

...
...
Code:
SCORE_1     *score +1
            LDD current_score
            ADDD #1
            STD current_score
            RTS



...ou alors je fais mon test CMPA #2 à l'intérieur de SCORE_1 en faite !?

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 00:01 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Ben tu fais ca:
Code:
....
        CMPA #2
        BNE *+5  ; 5 = 2 octets pour le BNE + 3 octets pour le JSR..
        JSR SCORE_1           <-??????     
        ...
Si le *+5 n'est pas clair, tu peux utiliser un label, mais d’expérience, choisir un nom qui a du sens et n'est pas déjà utilisé devient difficile avec la longueur du code. J'ai une solution à ce problème, mais ce n'est pas facile à expliquer (usage super balèze du macro-processeur), donc ca reste en attente chez moi pour l'instant.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 00:24 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ha bah attend tu m'a donné une idée,

je peux faire une macro genre comme celle là ?

Code:
AUDIO_OUTPUT macro
           LDA ,X+     
           STA $E7CD
           endm


que j'ai fais pour le son, je fais la même pour incrémenter la variable score
voir j'ajoute \0 pour une entrée du coup je pourrais incrémenter de 1 ou 2 ou x le score!

ça peut marcher ?

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 00:33 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ah ba ça change pas mon soucis en faite !

je vais faire comme ta dis mais avec un label...

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 00:40 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon je test ça :

Code:
                CMPA #2
                BNE cptR1
                INC_SCORE #1
cptR1



[Edit] : bon ba cool merci ça marche.
il a fallu que tu dises "macro" et ça m'a débloqué lol

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 08:44 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
heuu.. mais j'ai pas parlé de macro ;)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Mar 2020, 13:17 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
si ta dis "macro-processeur", le mot macro m'a suffit :D

_________________
Image


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 281 messages ]  Aller à la page Précédente  1 ... 9, 10, 11, 12, 13, 14, 15 ... 19  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 36 invités


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
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com