π
<-
Chat plein-écran
[^]

Teste tes programmes assembleur stub TI-89/92+/V200 en ligne

:32ti89: :32ti892: :32ti89t: :32ti89tn: :32ti92: :32tiv200:

Teste tes programmes assembleur stub TI-89/92+/V200 en ligne

Unread postby critor » 07 Aug 2013, 23:09

Il existe deux catégories de programmes pour nos calculatrices graphiques:
  • les programmes
    interprétés
    utilisant un langage propre au logiciel de la machine
    (Basic, Lua...)
  • les programmes
    assembleur
    qui utilisent directement le langage machine pour des performances et possibilités incomparables

Ces mêmes programmes assembleurs se répartissent eux-même en deux groupes:
  • les programmes stub
  • les programmes nostub

Tentons de comprendre un peu tout cela...


Déjà, connaissez-vous la différence entre shell et kernel?

Les premières calculatrices Texas Instruments à partir de 1990 n'offraient d'origine aucune possibilité d'exécuter des programmes assembleurs. On peut citer les TI-81, TI-82
(grises)
, TI-85, TI-80, TI-92 et TI-92II. Sans doute l'idée n'avait-elle même pas été évoquée à l'époque. Il est possible sur ces calculatrices de rajouter la possibilité d'exécuter des programmes assembleur en installant ce que l'on appelle alors un
kernel
. Ces kernels développés par la communauté nécessitent des méthodes d'installation très variées, que l'on pourra parfois qualifier d'assez originales.

Par la suite, Texas Instruments a du se dire devant nos exploits que l'assembleur n'était finalement pas une mauvaise idée, et en a permis officiellement l'usage dans ses modèles ultérieurs. On peut citer les TI-82 Stats, TI-83, TI-84, TI-86, TI-89, TI-92 Plus et TI-Voyage 200. Mais les commandes officielles permettant de lancer les programmes assembleur souffraient parfois de quelques restrictions ou contraintes. La communauté a alors développé ce que l'on appelle des
shells
. Ces shells permettent d'exécuter les programmes assembleur sans contrainte.

(notons toutefois en passant, que suite à un revirement total de politique les TI-Nspire rentrent paradoxalement dans la première catégorie)


Pour résumé, shells et kernels servent donc au final à la même chose: permettre l'exécution de programmes assembleur qui ne marcheraient pas autrement. La nuance est donc que l'on qualifie de kernel un programme qui ouvre à l'assembleur une machine qui initialement ne le supportait pas, et de shell un programme qui étend les capacités assembleur déjà existantes d'une machine.

Et voilà où nous arrivons:
  • est qualifié de
    stub
    un programme assembleur dont l'exécution nécessite l'usage d'un
    shell
    ou
    kernel
  • est qualifié de
    nostub
    un programme assembleur qui est exécutable de façon indépendante



Ce soir, nous continuons de repousser les limites de l'émulation en ligne des TI-89, TI-92 Plus et TI-Voyage 200.
Après les programmes nostub, l'émulateur en ligne intégré à TI-Planet gère enfin les programmes stub! :bj:
Il détecte lorsqu'un programme nécessite un shell et le précharge automatiquement avec le programme.
Image
(notez le support des niveaux de gris! ;) )


Le shell utilisé ici, est PreOS. Notons par contre que pour le moment la procédure d'installation de PreOS elle, n'est pas automatisée. Avant de tester votre programme stub dans notre émulateur en ligne, vous devrez donc installer PreOS en:
  • archivant
    preos
    et
    stdlib
  • lançant
    preos



A bientôt! ;)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 98.3%
 
Posts: 33758
Images: 8796
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Teste tes programmes assembleur stub TI-89/92+/V200 en l

Unread postby Lionel Debroux » 08 Aug 2013, 06:14

Hmm... Les définitions "shell" et "kernel" que tu as données ci-dessus ne correspondent pas à l'acception habituelle sur TI-68k (celle qu'on peut trouver dans les flames à répétition de yAronet, du temps où c'était un forum vivant) ;)

Sur TI-68k:
* les shells sont les explorateurs de fichiers (Einstein est donc un "shell"), et "shell" est donc un nom inapproprié (venant peut-être du "DOSSHELL" des MS-DOS les plus modernes, je l'utilisais dans le temps);
* les kernels fournissent un framework pour ajouter des features supplémentaires pour la programmation ASM (ainsi qu'en général, un semblant de protection anti-crash, très inefficace car la machine n'a pas de MMU), "kernel" est donc également un nom inapproprié;
* la gestion ASM fournie avec l'OS n'a aucune contrainte sérieuse, les limitations artificielles de taille et de possibilité de référencer un programme ASM dans les expressions mathématiques ayant été contournées presque tout de suite par de petits programmes qui ne sont pas nécessairement des "kernels", et plus récemment par patching et re-signature préalables de l'OS (tiosmod+amspatch+RabbitSign).

Notons également que la majorité des programmes TI-68k/AMS ne nécessite pas de kernel, et certains, dont je fais partie, préfèrent désigner les tels programmes par "AMS native" plutôt que par "_nostub" (car tout le code de démarrage, utilisé par la plupart des programmes AMS native, est considéré comme un "stub" par certains, puisqu'il duplique de fait certaines features offertes par le "kernel").
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5.2%
 
Posts: 6392
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Teste tes programmes assembleur stub TI-89/92+/V200 en l

Unread postby critor » 08 Aug 2013, 19:08

Merci pour ces éclaircissements :)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 98.3%
 
Posts: 33758
Images: 8796
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti


Return to News TI-68k (TI-89, TI-92, TI-Voyage 200)

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
639 utilisateurs:
>555 invités
>78 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)