1 342
modifications
Ligne 208 : | Ligne 208 : | ||
; Assembleur z80 | |||
: De manière officieuse, on peut aussi programmer en [[ASM]] (Assembleur [[z80]]). | |||
: Il s'agit d'une fonctionnalité non-officielle, qui repose sur l'exploitation de ''failles de sécurité'' de l'environnement utilisateur des calculatrices pour permettre l'exécution de programmes écrits en langage machine. | |||
Ce langage (sensiblement plus difficile/complexe que le TI-Basic intégré, interprété) étant de très bas-niveau, les possibilités de programmation ne sont restreintes que par la puissance du processeur. | : Il sera nécessaire au préalable d'installer un programme appelé ''shell'' ou parfois ''kernel'' sur la calculatrice pour pouvoir lancer ce type de programmes. ( OS-82, [[Ash]], [[CrASH]], ACE ou [[SNG]] ), le plus récent étant [[SNG]] et le plus documenté étant [[CrASH]]. | ||
: Ce programme n'est installable que par envoi à la TI d'un backup modifié qui exploitera la faille de sécurité (vous perdrez toutes les données préalablement enregistrées lors de l'installation du shell). | |||
: Ce langage (''sensiblement plus difficile/complexe que le TI-Basic intégré, interprété'') étant de très bas-niveau, les possibilités de programmation ne sont restreintes que par la puissance du processeur. | |||
<syntaxhighlight lang="asm"> | |||
:#define bcall(xxxx) rst 28h \ .dw xxxx | |||
:_clrlcdfull .equ $4540 | |||
:_puts .equ $450A | |||
:currow .equ $844B | |||
:.org $9D93 | |||
:.db $BB,$6D | |||
:bcall(_clrlcdfull) | |||
:ld de,$0103 | |||
:ld (currow),de | |||
:ld hl,texte | |||
:bcall(_puts) | |||
:ret | |||
:texte: | |||
:.db "HELLO, WORLD! ",0 | |||
:.end | |||
</syntaxhighlight> | |||
* Points forts | |||
** Puissance et vitesse d'exécution | |||
** Faible poids | |||
* Points faibles | |||
** Nécessite de 'cracker' le système de la calculatrice | |||
** Nécessite une compilation via un ordinateur. | |||
** une erreur dans le programme peut faire crasher la calculatrice (plusieurs niveaux de gravité). | |||
: Attention, les programmes en assembleur pour TI-82 ne sont pas compatibles avec ceux pour [[TI-83]], ni avec ceux pour [[TI-83 Plus]]. | |||
==Emulation== | ==Emulation== |