Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation Assembleur 68K » Conseil pour un débutant... (37 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 27 avril 2006 à 00:54 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


A68k ne fera plus partie de TIGCC (l'environnement de développement TI le plus puissant et le plus complet et le seul qui permet de coder en C) d'ici quelques mois. Si vous voulez vous embarquer sur une voie sans issue, allez-y.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°20   Marquer comme non lu.
Sasume Ecrit le: Jeudi 27 avril 2006 à 19:07 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Au fait, pour ce qui est de la syntaxe qui dépend de l'indentation, je ne vois pas en quoi c'est si mal...
Python fonctionne comme ça aussi et c'est vraiment très bien, ça évite d'avoir à entourer les blocs de tokens particuliers (BEGIN/END ou {/} par exemple).
Et bien d'autres assembleurs fonctionnent comme ça, ça oblige à avoir une certaine rigueur dans la présentation de son code, donc ça joue sur sa lisibilité (mais bon, on sait bien que chez GNU AS la lisibilité n'est pas leur fort :D).

Exemple.
  moveq.l #10,d0
  copy:
  move.w  (a0)+,(a1)+
  dbf     d0,copy
  rts


  moveq.l #10,d0
copy:
    move.w  (a0)+,(a1)+
    dbf     d0,copy
  rts


Le deuxième bout de code est tout de même plus lisible :)
    
./Post n°21   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 27 avril 2006 à 22:07 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Sasume :
Au fait, pour ce qui est de la syntaxe qui dépend de l'indentation, je ne vois pas en quoi c'est si mal...

Parce qu'à chaque fois j'oublie d'indenter mes instructions et je ne comprends pas pourquoi ça ne marche pas. :D

Dans mes sources GNU as, je n'indente rien du tout, tout est écrit en colonne 1. En A68k, je mettais une espace pour faire plaisir à l'assembleur et ça me faisait vraiment ch**r de devoir à chaque fois mettre cette espace redondante (et non, je n'ai jamais utilisé d'indentation par blocs, ça ne correspond pas du tout au style de l'ASM).

Et ça désoriente pas mal de nouveaux aussi, cette contrainte stupide et totalement inutile. Reconnaître un label à ses : est beaucoup plus intelligent (je ne mets jamais un label sans :, j'ai horreur des sources A68k où il manque tous les : après les labels, c'est vraiment illisible).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°22   Marquer comme non lu.
Link Ecrit le: Samedi 29 avril 2006 à 00:36 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

C'est pourtant la syntaxe classique de tout assembleur: Quatres colonnes pour Label, opcode, paramètres, commentaire.

Avec des tabulations suffisantes (6 ou 8 par exemple) on peut faire à peu de frais des programmes assembleur avec de belles colonnes...
L'inconvénient étant, bien sûr, que jouer avec des colonnes exige d'avoir les mêmes tailles de tabulation sur tous les éditeurs... Mais bien fait, c'est assez joli... (surtout quand on ajoute la coloration syntaxique).
    
./Post n°23   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 29 avril 2006 à 16:52 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Link :
L'inconvénient étant, bien sûr, que jouer avec des colonnes exige d'avoir les mêmes tailles de tabulation sur tous les éditeurs...

Exactement. J'ai horreur des tabulations, surtout si c'est pour faire des colonnes, parce qu'à chaque fois ça s'affiche absolument n'importe comment quand je veux l'afficher. (Si on les utilise juste pour indenter au début de la ligne, ça passe encore, mais si on utilise des tabs comme ça:
du texte[TAB]|foo
[TAB][TAB]|foo

ou comme ça:
[TAB]if (a && (b
[TAB][TAB]  || c))

ça ne peut pas fonctionner, faut mettre des espaces en dessous des espaces ou caractères, et des tabs en dessous des tabs:
du texte |foo
         |foo

et:
[TAB]if (a && (b
[TAB]          || c))

(et non pas:
[TAB]if (a && (b
                  || c))

d'ailleurs). Bref, vive les espaces:
        if (a && (b
                  || c))

comme ça pas moyen de s'emmêler.)

GNU as n'a pas de concept de colonne, le whitespace est vu comme un séparateur, pas un moyen d'aligner. Les sources générées par GCC n'utilisent jamais un tab entre instruction et opérandes (sauf pour les .byte/.word/.long des tableaux de données pour je ne sais pas quelle raison), mais toujours une espace, et j'ai toujours fait de même (avec A68k aussi). Les opérandes font partie de l'instruction, c'est idiot de mettre une plage blanche de 10 km entre les deux.

Le layout par colonnes est obsolète, on n'est plus aux temps de FORTRAN I (1957). #roll# Même le Fortran a abandonné le layout par colonnes (et l'écriture du nom en toutes majuscules aussi :)).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°24   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 29 avril 2006 à 17:00 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Link :
C'est pourtant la syntaxe classique de tout assembleur

Et la manière classique de traîner une carosse ou un char était par des chevaux, ça n'a pas empêché l'invention de l'automobile et du tracteur. :D Faut savoir se séparer des méthodes "classiques" parfois, sinon on n'avance jamais.

Le concept de "colonnes" dans un fichier texte est obsolète, ça ne se prête pas aux tabulations de taille variable, communes de nos jours, et ça a été inventé parce que les parseurs de l'époque n'étaient pas capables de parser autre chose, ce qui n'est plus le cas de nos jours grâce aux avancées de l'informatique théorique. Les colonnes sont pour des tableaux, pas des fichiers texte. Ton IDE ASM préféré, c'est Excel? :D
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°25   Marquer comme non lu.
Sasume Ecrit le: Samedi 29 avril 2006 à 21:57 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Kevin Kofler :
Link :
C'est pourtant la syntaxe classique de tout assembleur

Et la manière classique de traîner une carosse ou un char était par des chevaux, ça n'a pas empêché l'invention de l'automobile et du tracteur. :D Faut savoir se séparer des méthodes "classiques" parfois, sinon on n'avance jamais.
Exactement ! ;)
C'est pour ça que je préfère le mode kernel.
[/troll]
    
./Post n°26   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 29 avril 2006 à 22:01 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


C'est le mode kernel le mode obsolète, datant des temps de Fargo, et inventé parce que l'assembleur n'était pas possible nativement (ce qui n'est plus le cas depuis les TI-92+) et parce qu'on ne connaissait pas bien les fonctions nativement offertes par AMS (les ROM_CALLs - sur la TI-92, ils n'étaient pas du tout exportés, sur les nouveaux modèles, ils étaient mal documentés), ce qui n'est plus le cas.
-Edité le Samedi 29 avril 2006 à 22:02 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°27   Marquer comme non lu.
Sasume Ecrit le: Dimanche 30 avril 2006 à 22:21 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Ça, c'est Fargo.
Mais PreOs, c'est autre chose =)
    
./Post n°28   Marquer comme non lu.
Kevin Kofler Ecrit le: Dimanche 30 avril 2006 à 23:16 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Les kernels sur les TI-89/89Ti/92+/V200 ne sont que des réimplémentations de Fargo (et moins bonnes que l'original, par exemple les relogements ne sont pas compressés #sick# - ld-tigcc permet les relogements compressés en _nostub :p - il les permettrait aussi en kernel, mais PpHd a refusé d'implémenter sa propre spec, donc le linker peut les générer, mais le kernel ne peut pas les lire #roll#).
-Edité le Dimanche 30 avril 2006 à 23:16 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°29   Marquer comme non lu.
Sasume Ecrit le: Lundi 1er mai 2006 à 10:19 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Merci, je crois que tu as tout dit sur le mode kernel en ces quelques lignes #top#
    
./Post n°30   Marquer comme non lu.
FpgForce Ecrit le: Lundi 1er mai 2006 à 22:49 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

On pourrait croire que certain sujets pourraient commencer à lasser à la longue mais un petit groupe d'irreductibles continue le combat.
-Edité le Lundi 1er mai 2006 à 22:49 par FpgForce-
    
./Post n°31   Marquer comme non lu.
Onur Ecrit le: Vendredi 25 août 2006 à 23:59 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


Petit remontage...

une petite réaction par rapport à la question qui est dans la description du topic:

on dit plutot "GNU Ass"

Un cul libre qu'on peut distribuer à ses copains
-Edité le Samedi 26 août 2006 à 00:01 par Onur-
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°32   Marquer comme non lu.
Jfg Ecrit le: Samedi 26 août 2006 à 00:10 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


http://www.mirari.info/get.php?c=s4M0?

ça ferait un bon icon/splash screen
-Edité le Samedi 26 août 2006 à 00:11 par Jfg-
Kill Mario
    
./Post n°33   Marquer comme non lu.
Onur Ecrit le: Samedi 26 août 2006 à 00:12 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


Oui.
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°34   Marquer comme non lu.
Jfg Ecrit le: Samedi 26 août 2006 à 00:18 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


et après tu dis que tu as une vie sociale ? (cf les 2 min de delai entre mon post et le tiens)
Kill Mario
    
./Post n°35   Marquer comme non lu.
Onur Ecrit le: Samedi 26 août 2006 à 00:19 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


Jean-François: http://www.tigen.org/forum/index.php?action=sujet&fxorum=5&cat=18&topic=2434&page=2&p=32#32


Onur: L'adresse que vous avez entrée est incorrecte ou le sujet que vous demandez n'existe pas


Jean-François: ben va voir là où il faut


Onur: posted


Jean-François: posted
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°36   Marquer comme non lu.
Jfg Ecrit le: Samedi 26 août 2006 à 04:39 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


biatch, tu aimes m'humilier c'est ça ?
Kill Mario
    
./Post n°37   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 26 août 2006 à 14:55 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


On dit GNU as, pas "ass". #roll#
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Programmation Assembleur 68K » Conseil pour un débutant... (37 réponse(s))
Pages : 2/2     « 1 [2] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 54.47ms avec 18 requetes