[ 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 : Papy.G, fneck, Carl

Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

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 de l’utilisateur
kikich
Messages : 51
Inscription : 24 oct. 2016 23:19
Localisation : Aube
Contact :

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

Message par kikich »

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 : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

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 de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 : 409
Inscription : 10 nov. 2016 16:53

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

Message par nicolho »

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.
Dernière modification par nicolho le 23 janv. 2017 20:10, modifié 2 fois.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 de l’utilisateur
kikich
Messages : 51
Inscription : 24 oct. 2016 23:19
Localisation : Aube
Contact :

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

Message par kikich »

Merci, pour ma part , je comprend bien mieux maintenant :D
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

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+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 ;)
Dernière modification 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 : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

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+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

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 : 409
Inscription : 10 nov. 2016 16:53

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

Message par nicolho »

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) )
Dernière modification par nicolho le 23 janv. 2017 23:07, modifié 1 fois.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

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)
Dernière modification par __sam__ le 23 janv. 2017 23:15, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre