Logicielsmoto.com

Nous sommes le 09 Déc 2018, 20:55

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: C6809 version 0.83, alors ?
MessagePosté: 15 Mar 2010, 12:08 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 999
Localisation: France (24)
La version 0.83 de c6809 vous attend bla bla bla.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Oct 2017, 14:22 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1015
Localisation: Brest
Ah! Je pense avoir découvert un petit bug dans le calcul des cycles lors d'un saut indirect:
Code:
96  3+3   759C 6E   9F 7800  f_loop  jmp     [cores]     ; 8
En effet, il est compté 3+3=6 cycles. Or dans la doc 6809, je vois que [n] compte pour 5 cycles et pas 3.

Je ne sais pas si ce bug existe sur les autres versions de c6809.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Oct 2017, 15:23 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 999
Localisation: France (24)
Oui, c'est corrigé dans la dernière version à compiler que je t'ai envoyée.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo
"Hmm... Il y a un bogue dans le débogueur. Il me faudrait un débogueur pour déboguer le débogueur..." 04/06/2015
"Je ne peux pas amputer, c'est du code." 09/10/2018


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2018, 13:16 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1015
Localisation: Brest
Tiens, je déterre ce sujet parce que j'ai découvert sur l'asm 68000 une macro intéréssante: REPT n/END. Cela permet de repéter n fois un bloc de code. Alors certes, il y a cette solution, mais c'est moins pratique car il faut définir une macro spécifique pour le code à répéter alors que
Code:
REPT 10
inca
decb
mul
ENDR
me semble plus lisible.

On a pas cette macro-instruction REPT/ENDR dans les assembleurs thomson il me semble, non ?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2018, 15:41 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 999
Localisation: France (24)
Samuel Devulder a écrit:
On a pas cette macro-instruction REPT/ENDR dans les assembleurs thomson il me semble, non ?

Pas encore.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo
"Hmm... Il y a un bogue dans le débogueur. Il me faudrait un débogueur pour déboguer le débogueur..." 04/06/2015
"Je ne peux pas amputer, c'est du code." 09/10/2018


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 18 Oct 2018, 19:47 
Hors ligne

Inscription: 08 Oct 2018, 17:24
Messages: 16
Sorry guys for the newbie question. I'm using C6809 for the first time. I transcripted my code and followed the example.ass but the assembly phase wont link external references. What i'm missing?

Image

Also, two sides questions: 1) im using notepad++, do you know a better editor for asm? 2) At which address i should load the raw bin in the debug setting of dcmoto?

Thank you so much :)


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 18 Oct 2018, 20:43 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1015
Localisation: Brest
Actually with C6809 all the *.ASM files are contained in a single file (usually with *.ASS as extension). Each *ASM file is described in a section defined by the (main) or (include) prefix. C6809 will read these sections as independent ASM files and perform INCLUD (notice: no "E") with respect to these section-files.

In your case the file should look like this:
Code:
(main)BLANKALL
* no need to put extension to BLANKALL

* Your code here
FOO EQU $000
BAR:
       lda #1
* etc...

* your includes
       INCLUD MOGFX
       INCLUD MOINPUT
* end of main: entry point will be BAR
       end  BAR
* BLANKALL.ASM will end here

(include)MOGFX
* here is the source that will go to MOGFX.ASM and
* included at INCLUD MOGFX above.
     bla bla
* MOGFX.ASM ends here

(include)MOINPUT
* here is the source that will go to MOINPUT.ASM and
* included at INCLUD MOINPUT in the (main) section above.
     bla bla
* MOINPUT.ASM ends here

I'm not sure if I am clear, but to sum-up I'd say that C6809 is a bit special with respect to multiple files. Basically an ASS file compiled by C6809 contains virtual files that are represented by (main) or (include) sections. At the end of the compilation you get on disk as many ASM files as defined sections and a BIN file corresponding to the compilation of the (main) section. The BIN file is in thomson format and can be loaded and executed on the machine. If you provide the "-bd" option on the command-line for the compilation, that "BIN" file will be in RAW format ('d' stands for plain data) that you can copy into DCMOTO memory directly using the built-in debugger.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 18 Oct 2018, 21:49 
Hors ligne

Inscription: 08 Oct 2018, 17:24
Messages: 16
Quite clear, thanks Sam.

Two issues:

1) Macros calls seems to crash C6809 (even a simple macro) on Pass 1 - i'm on Windows 8.1 and it raises unhandled ex

2) This code:

Code:
BUFK     FCB $62,$42,$52


Which was perfectly legit before, is now marked as "binary not linear" error when assembling. I googled for that but found nothing, sorry if i'm asking you again.

Cheers :)


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 18 Oct 2018, 22:11 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1015
Localisation: Brest
For point 1), I can't tell. I've never come to c6809 crash. This is an issue for Prehisto I guess (the author), but he'll need the source code to reproduce the issue I guess.

Concerning Point 2), the error message means something that needs fixing. As a matter of fact, it its not directly related to the FCB itself, but possibly to the fact that this FCB overlap another memory region (ORG directive) or some RMB instruction creates an empty space in the binary, both resulting in non-linear memory map. You can inspect the code.lst file to try to guess what is going wrong here (look for memory locations not being continuous). Maybe compiling with "-bh" (hybrid binary) in place of "-bl" (linear binary), will help. It'll allow overlapping or gaps in the binary file, but it won't fix the overlap itself if there is one (Gaps are harmless and can be fixed by providing a 2nd parameter ro the RMB command (eg RMB nnn,0) to fill the gap with some value.)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 19 Oct 2018, 00:52 
Hors ligne

Inscription: 08 Oct 2018, 17:24
Messages: 16
Yes, that was an RMB which was giving no issues on MA 3.6

I attached a .ASS with a very simple macro call which crashes the C6809 assembling process on Win 8.1: if you comment the call, it works.


Fichiers joints:
CRASH.zip [643 Octets]
Téléchargé 15 fois
Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 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
Vous ne pouvez pas joindre des fichiers

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