[ EXELVISION ] initiation à l'assembleur pour TMS7020

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

Daniel
Messages : 10261
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par Daniel » 23 janv. 2017 16:52

Il est prévu de faire évoluer la documentation du site dcexel sur le modèle du site dcmoto, mais je n'ai pas eu le temps de le faire...
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
kikich
Messages : 40
Enregistré le : 24 oct. 2016 23:19
Localisation : Aube

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par kikich » 23 janv. 2017 17:27

Daniel a écrit :Il est prévu de faire évoluer la documentation du site dcexel sur le modèle du site dcmoto, mais je n'ai pas eu le temps de le faire...
si besoin j'aiderai volontiers. :wink:

Daniel
Messages : 10261
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par Daniel » 23 janv. 2017 17:38

Merci, mais ce n'est pas possible, je ne sous-traite pas la maintenance de mes sites, c'est trop personnel.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 19:53

kikich a écrit :Pour la partie PC , j'ai du mal a comprendre.

je ne comprend pas comment le PC passe de $2000 a $2003 et ensuite $2006 :?:
Ah mince ce n'était donc pas assez clair, donc je vais editer cette partie pour essayer de la rendre plus clair :oops: :roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

nicolho
Messages : 237
Enregistré le : 10 nov. 2016 16:53

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par nicolho » 23 janv. 2017 20:05

Phil, je ne sais pas si tu as vu ma suggestion de présentation du code, ça aurait certainement suffit à mieux visualiser les instructions par rapport aux adresses.
Et je ne sais non plus s'il existe un mémento du jeu d'instructions du TMS7000, mais en attendant j'ai mis en ligne un petit pdf repétassé/recherchable contenant uniquement les tableaux d'instructions extraits du Data Manual (chapitre 6) : https://www.docdroid.net/9zyUDEM/tms700 ... t.pdf.html
Le reste est bien résumé (et en français) aux pages 1 à 26 (et les modes d'adressages de 90 à 93) de "Programmer en Assembleur sur Exelvision" qui pourra servir de référence pour approfondir, en complément de ton tuto.
Modifié en dernier par nicolho le 23 janv. 2017 20:10, modifié 2 fois.

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 20:08

Oui c'est ce que je vais faire rajouter le désassemblé des lignes avec les adresses pour bien mettre en évidence PC ;)

L'extrait du datasheet très bonne idée :wink:

Et effectivement il faut toujours avoir sur le coude le bouquin "Programmer en Assembleur sur Excelvision" ;)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 20:25

Mise à jour de la partie PC ;)

Est ce que ca vous parait plus compréhensible ?

la suite pour bientôt ...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
kikich
Messages : 40
Enregistré le : 24 oct. 2016 23:19
Localisation : Aube

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par kikich » 23 janv. 2017 20:34

Merci, pour ma part , je comprend bien mieux maintenant :D

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 20:38

Tu avais bien raison ca paraissait évident pour quelqu'un qui programme en assembleur depuis longtemps, mais pour un débutant ca pouvais être pas du tout évident :oops:


Rajout de la section sur les ports.

Et je prépare la 3eme partie sur la mémoire...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

__sam__
Messages : 3961
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par __sam__ » 23 janv. 2017 21:56

Moi j'ai une question sans doute idiote: les registres Ri, font 8 bits ou 16 bits? Car apparemment certaines instructions les traitent comme des 16 bits (exemple: Call *Rn ou DECD Rp qui parle de la transition 0->$FFFF). Est-ce un truc spécial alors comme A:B qui font un seul reg de 16 bits ou deux de 8bits. Les Ri s'accollent au Ri+1 qui suit pour faire un 16 bits ?
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 22:26

Les registres Rxxx sont en 8bits, mais un peu comme avec un 6502 et la page zéro, il y des instructions du TMS7020 qui permettent d'utiliser 2 registres 8 bits pour former une adresse 16 bits.

Par exemple :
MOV %$10,R10
MOV %$00,R11
BR *R11
Cela va effectué un saut en $1000.

Ou cet autre exemple :
MOVD %$2000,R13
LDA *R13
Cela va lire l'octet présent à l'adresse $2000, par ce que MOVD va placer $20 en R12 et $00 en R13 ;)
Modifié en dernier par 6502man le 23 janv. 2017 22:58, modifié 1 fois.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

__sam__
Messages : 3961
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par __sam__ » 23 janv. 2017 22:46

MOVD %$2000,R13 écrit dans R12:R13 ou R13:R14 ? Au fait la partie haute ($20) est dans R13 ou est-ce la partie basse ($00) qui arrive dans R13 (bref quel est le byte-order pour les opérations 16 bits?).
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Avatar du membre
6502man
Messages : 8929
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par 6502man » 23 janv. 2017 22:57

Oups j'ai oublié de préciser, je débute en pédagogie :roll:

R12-R13 ;)

Big Endian

J'édite le post pour plus de précisions .
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

nicolho
Messages : 237
Enregistré le : 10 nov. 2016 16:53

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par nicolho » 23 janv. 2017 23:05

R=MSB et R+1=LSB mais la paire de registres est toujours désignée par R+1, comme répété avec insistance aux pages 6/7 de "Programmer en Assembleur sur Excelvision" (qu'on pourrait dorénavant appeler "PEASE" 8) )
Modifié en dernier par nicolho le 23 janv. 2017 23:07, modifié 1 fois.

__sam__
Messages : 3961
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020

Message par __sam__ » 23 janv. 2017 23:05

Ok,c'est plus clair. MOVD %$xxyy,Rn écrit $xx dans Rn-1 et $yy dans Rn.

Encore une question de pinailleur: il se passe quoi quand on écrit dans R2. Si on fait MOVD $1234,R2, normalement R1 recoit $12, mais R1 c'est B, donc on écrit à la fois dans un registre interne et extene, non ? Idem si on MOVD $5678,R0, est-ce qu'on écrit $78 dans A et $56 dans R127 ? (ca sert à rien mais c'est pour comprendre la logique interne de ce CPU)
Modifié en dernier par __sam__ le 23 janv. 2017 23:15, modifié 1 fois.
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.
New Teo 1.8.4 8)

Répondre