Logicielsmoto.com

Nous sommes le 28 Mar 2024, 12:52

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 6 messages ] 
Auteur Message
 Sujet du message: Directive ORG et LOADM,,R
MessagePosté: 15 Juil 2021, 15:46 
Hors ligne

Inscription: 12 Fév 2021, 15:54
Messages: 78
Localisation: Rennes
Bonjour à tous,

alors j'ai une question de gros débutant, j'ai presque honte de la poser ... (en fait oui j'ai carrément honte).

voici mon code ASM

Code:
(main)hello.asm   * Marquage du programme principal
    ORG $A000
DEBUT   
    LDX #MESSAGE
AFFICHE
    LDB ,X+
    BEQ FIN
    JSR $E803
    BRA AFFICHE
FIN   
    SWI
MESSAGE
    FCS "HELLO LES THOMSONISTES !",0
    END   


compilé avec C6809, aucun problème.

Quand je charge le .BIN avec LOADM "HELLO.BIN",,R
ça ne s'exécute pas directement, je dois faire un EXEC &HA000

Pourquoi ne le lance-t-il pas directement, malgré le ",,R"

J'ai honte pour cette question, mais quelque-chose m'échappe et je ne sais pas quoi :oops:

_________________
Fan de Atari 2600, Thomson MO5, Thomson TO8, Atari STE.
Retro-Codeur à mes heures perdues. https://www.fxjavadevblog.fr


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Directive ORG et LOADM,,R
MessagePosté: 18 Juil 2021, 10:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Le loadm va bel et bien charger à l'adresse du ORG, mais le point de lancement n'est pas forcément là. En fait suivant l'organisation du source tu peux te retrouver à mettre le point de lancement plus loin. Aussi il n'y a pas d'adresse de lancement implicite. Il faut explicitement indiquer au code asm où on veut que le EXEC sans argument ou le LOADM avec ",,r" lancera l'ASM en donnant une adresse (souvent sous la forme d'une étiquette) en argument à la directrive END.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Directive ORG et LOADM,,R
MessagePosté: 18 Juil 2021, 10:50 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Le BM16 avec les couleurs d'origine type atari (16 couls aussi) rendent bien une fois le gamma corrigé.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Directive ORG et LOADM,,R
MessagePosté: 18 Juil 2021, 15:37 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Donc j'imagine que ton code asm se termine comme cela ?

Code:
ORG $A000
...
...
...
END $A000

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Directive ORG et LOADM,,R
MessagePosté: 19 Juil 2021, 09:44 
Hors ligne

Inscription: 12 Fév 2021, 15:54
Messages: 78
Localisation: Rennes
Merci Samuel, effectivement avec ça, le LOADM,,R lance le programme directement.

Code:
(main)hello.asm   * Marquage du programme principal
    ORG $A000
DEBUT   
    LDX #MESSAGE
AFFICHE
    LDB ,X+
    BEQ FIN
    JSR $E803
    BRA AFFICHE
FIN   
    SWI
MESSAGE
    FCC \HELLO LES THOMSONISTES !\
    FCB $0A,$0D,$00
    END DEBUT


La différence sur le binaire généré :

SANS l'étiquette sur le END

Code:
/*--------------------------------------------------------------*
 * Compilé avec C6809 v0.83                                     *
 *--------------------------------------------------------------*
 * Fichier source      : hello.small.noend.6809
 * Fichier destination : HELLO.BIN
 * Contenu :
 *     Main     0:hello.asm    180
 *--------------------------------------------------------------*/

Macro Pass
Pass1
Pass2
      2        A000                   ORG $A000
      3        A000               DEBUT
      4  3     A000 8E   A00D         LDX #MESSAGE
      5        A003               AFFICHE
      6  4+2   A003 E6   80           LDB ,X+
      7  3     A005 27   05           BEQ FIN
      8  8     A007 BD   E803         JSR $E803
      9  3     A00A 20   F7           BRA AFFICHE
     10        A00C               FIN
     11  19    A00C 3F                SWI
     12        A00D               MESSAGE
     13        A00D 48 45 4C 4C       FCC \HELLO LES THOMSONISTES !\
               A011 4F 20 4C 45
               A015 53 20 54 48
               A019 4F 4D 53 4F
               A01D 4E 49 53 54
               A021 45 53 20 21
     14        A025 0A 0D 00          FCB $0A,$0D,$00
     15                  0000         END

000000 Total Errors

000004 Total Symbols
     1x          Label A003 AFFICHE
     0x          Label A000 DEBUT
     1x          Label A00C FIN
     1x          Label A00D MESSAGE



AVEC l'étiquette sur le END

Code:
/*--------------------------------------------------------------*
 * Compilé avec C6809 v0.83                                     *
 *--------------------------------------------------------------*
 * Fichier source      : hello.small.6809
 * Fichier destination : HELLO.BIN
 * Contenu :
 *     Main     0:hello.asm    186
 *--------------------------------------------------------------*/

Macro Pass
Pass1
Pass2
      2        A000                   ORG $A000
      3        A000               DEBUT
      4  3     A000 8E   A00D         LDX #MESSAGE
      5        A003               AFFICHE
      6  4+2   A003 E6   80           LDB ,X+
      7  3     A005 27   05           BEQ FIN
      8  8     A007 BD   E803         JSR $E803
      9  3     A00A 20   F7           BRA AFFICHE
     10        A00C               FIN
     11  19    A00C 3F                SWI
     12        A00D               MESSAGE
     13        A00D 48 45 4C 4C       FCC \HELLO LES THOMSONISTES !\
               A011 4F 20 4C 45
               A015 53 20 54 48
               A019 4F 4D 53 4F
               A01D 4E 49 53 54
               A021 45 53 20 21
     14        A025 0A 0D 00          FCB $0A,$0D,$00
     15                  A000         END DEBUT

000000 Total Errors

000004 Total Symbols
     1x          Label A003 AFFICHE
     1x          Label A000 DEBUT
     1x          Label A00C FIN
     1x          Label A00D MESSAGE



Samuel Devulder a écrit:
Le BM16 avec les couleurs d'origine type atari (16 couls aussi) rendent bien une fois le gamma corrigé.


Uhmm, trompage de fil de discussion peut-être ? :W

_________________
Fan de Atari 2600, Thomson MO5, Thomson TO8, Atari STE.
Retro-Codeur à mes heures perdues. https://www.fxjavadevblog.fr


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Directive ORG et LOADM,,R
MessagePosté: 22 Juil 2021, 21:01 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
fxrobin a écrit:
Uhmm, trompage de fil de discussion peut-être ? :W

Oui lol. Je suis pas habitué à autant d'activités sur le forum :D

_________________
Good morning, that's a nice Tnetennba


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

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 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 à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com