[ EXELVISION ] initiation à l'assembleur pour TMS7020
Modérateurs : Papy.G, fneck, Carl
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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.
L'obstacle augmente mon ardeur.
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
si besoin j'aiderai volontiers.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...
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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.
L'obstacle augmente mon ardeur.
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
Ah mince ce n'était donc pas assez clair, donc je vais editer cette partie pour essayer de la rendre plus clairkikich 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
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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.
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.
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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
Et effectivement il faut toujours avoir sur le coude le bouquin "Programmer en Assembleur sur Excelvision"
L'extrait du datasheet très bonne idée
Et effectivement il faut toujours avoir sur le coude le bouquin "Programmer en Assembleur sur Excelvision"
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
Mise à jour de la partie PC
Est ce que ca vous parait plus compréhensible ?
la suite pour bientôt ...
Est ce que ca vous parait plus compréhensible ?
la suite pour bientôt ...
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
Merci, pour ma part , je comprend bien mieux maintenant
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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
Rajout de la section sur les ports.
Et je prépare la 3eme partie sur la mémoire...
Rajout de la section sur les ports.
Et je prépare la 3eme partie sur la mémoire...
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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
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.
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
Oups j'ai oublié de préciser, je débute en pédagogie
R12-R13
Big Endian
J'édite le post pour plus de précisions .
R12-R13
Big Endian
J'édite le post pour plus de précisions .
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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" )
Dernière modification par nicolho le 23 janv. 2017 23:07, modifié 1 fois.
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [ EXELVISION ] initiation à l'assembleur pour TMS7020
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)
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos