Accueil > > > PROGRAMMER UNE TI-83 PLUS(TEXAS INSTRUMENTS) AVEC ASM
PROGRAMMER UNE TI-83 PLUS(TEXAS INSTRUMENTS) AVEC ASM
Information sur la source
Description
Bonjour tout le monde, c'est mon premier script ici. J'ai eu la calculatrice TI-83 Plus pour le cours de math et j'ai commencé à programmer en ASM pour faire des programmes puissants. Ce qui suit est un tutoriel qui vous explique comment faire des programmes en ASM pour TI-83 Plus (ca doit surement marcher avec dautre version...)
Source
- ---------------------
- INFOS - TI-83 Plus
- ---------------------
- CPU: 8Mhz Z80
- Flash ROM: 160K
- RAM: 24K
- Piles: 4AAA
- 1 CR 1616 (backup)
- LCD: 64 x 96 Pixels
- Languages: TI-Basic et ASM
-
-
-
- ATTENTION: mettre un [ENTER] après le .end
-
- ----------
- DEFAULT
- ----------
- ;programme default
- .nolist
- #include "ti83plus.inc" ;fichier nécessaire pour acceder aux routines systemes
- .org userMem-2 ;dire ou commencer dans la mémoire
- .db $BB,$6D
- bcall(_clrLCDfull) ;effacer l'écran
-
- ret
- .end ;fin du code
-
- ----------
- DEFAULT
- ----------
-
-
-
- Ce script va seulement effacer l'écran. N'utilisez pas ASM juste pour ca, il y a déja une fonction implémenté dans la calculatrice(ClrHome) :p . Vous ajoutez votre code après bcall(_clrLCDfull).
-
-
-
- -------------
- SHUTDOWN
- -------------
- #define B_CALL(xxxx) rst 28h \ .dw xxxx
- #define B_JUMP(xxxx) call 50h \ .dw xxxx
-
- .org 9D95h
-
- DI ; neutraliser les interruptions
- LD A,001H ; mettre 0 au regitre "a"
- OUT (003H),A ; fermer l'ecran
- EI ;accepter les interruptions
- RET
-
- .end
- END
-
- -------------
- SHUTDOWN
- -------------
-
- Ce script va fermer la calculatrice!
-
-
-
- -------
- LIGNE
- -------
- #define B_CALL(xxxx) rst 28h \ .dw xxxx
- #define B_JUMP(xxxx) call 50h \ .dw xxxx
-
- _op1set3 =41a1h
- _vertcmd =48a9h
-
- .org 9D95h
-
- B_CALL(_op1set3) ; Opl1 = 3
- B_CALL(_vertcmd) ; dessiner la ligne verticale: Y = 3
- ret
- .end
- END
-
- -------
- LIGNE
- -------
-
- Ce script va afficher une ligne sur le graphique. Vous allez être surpris par la vitesse comparée au TI-BASIC
-
-
- -------
- TEXTE
- -------
- #define B_CALL(xxxx) rst 28h \ .dw xxxx
- #define B_JUMP(xxxx) call 50h \ .dw xxxx
-
- _ClrLCDFull =4540h
- _GrBufClr =4BD0h
- _VPutS =4561h
- PENCOL =86D7h
- CURROW =800Ch
- CURCOL =800Dh
- _puts =450Ah
-
- .org 9D95h
-
- B_CALL(_clrLCDFull) ;effacer l'écran
- B_CALL(_GrBufClr) ;effacer toutes les valeurs du graph
- ld hl,0000h ;loader 0 au registre hl
- ld (PENCOL),hl ;loader la valeur de hl à Pencol
- ld hl,str1 ;loader le string de texte
- B_CALL(_vputs) ;CALL pour afficher du texte sur l'écran
- ld hl,0001h ;loader 0 au registre hl
- ld (CURROW),hl ;loader la valeur de hl a la coordonnée normale du texte
- ld hl,0000h
- ld (CURCOL),hl
- ld hl,str2
- B_CALL(_puts) ;Mettre le texte homescreen dessus
- ret
- str1: ;label pour le texte
- .db "petit texte.",0 ;petit texte
- str2:
- .db "grand texte. ",0 ;normal (plus grand) text
- .end
- END
-
- -------
- TEXTE
- -------
-
-
- Bon, je dois partir mais je promets de continuer ce tutoriel dès que je le pourrais
---------------------
INFOS - TI-83 Plus
---------------------
CPU: 8Mhz Z80
Flash ROM: 160K
RAM: 24K
Piles: 4AAA
1 CR 1616 (backup)
LCD: 64 x 96 Pixels
Languages: TI-Basic et ASM
ATTENTION: mettre un [ENTER] après le .end
----------
DEFAULT
----------
;programme default
.nolist
#include "ti83plus.inc" ;fichier nécessaire pour acceder aux routines systemes
.org userMem-2 ;dire ou commencer dans la mémoire
.db $BB,$6D
bcall(_clrLCDfull) ;effacer l'écran
ret
.end ;fin du code
----------
DEFAULT
----------
Ce script va seulement effacer l'écran. N'utilisez pas ASM juste pour ca, il y a déja une fonction implémenté dans la calculatrice(ClrHome) :p . Vous ajoutez votre code après bcall(_clrLCDfull).
-------------
SHUTDOWN
-------------
#define B_CALL(xxxx) rst 28h \ .dw xxxx
#define B_JUMP(xxxx) call 50h \ .dw xxxx
.org 9D95h
DI ; neutraliser les interruptions
LD A,001H ; mettre 0 au regitre "a"
OUT (003H),A ; fermer l'ecran
EI ;accepter les interruptions
RET
.end
END
-------------
SHUTDOWN
-------------
Ce script va fermer la calculatrice!
-------
LIGNE
-------
#define B_CALL(xxxx) rst 28h \ .dw xxxx
#define B_JUMP(xxxx) call 50h \ .dw xxxx
_op1set3 =41a1h
_vertcmd =48a9h
.org 9D95h
B_CALL(_op1set3) ; Opl1 = 3
B_CALL(_vertcmd) ; dessiner la ligne verticale: Y = 3
ret
.end
END
-------
LIGNE
-------
Ce script va afficher une ligne sur le graphique. Vous allez être surpris par la vitesse comparée au TI-BASIC
-------
TEXTE
-------
#define B_CALL(xxxx) rst 28h \ .dw xxxx
#define B_JUMP(xxxx) call 50h \ .dw xxxx
_ClrLCDFull =4540h
_GrBufClr =4BD0h
_VPutS =4561h
PENCOL =86D7h
CURROW =800Ch
CURCOL =800Dh
_puts =450Ah
.org 9D95h
B_CALL(_clrLCDFull) ;effacer l'écran
B_CALL(_GrBufClr) ;effacer toutes les valeurs du graph
ld hl,0000h ;loader 0 au registre hl
ld (PENCOL),hl ;loader la valeur de hl à Pencol
ld hl,str1 ;loader le string de texte
B_CALL(_vputs) ;CALL pour afficher du texte sur l'écran
ld hl,0001h ;loader 0 au registre hl
ld (CURROW),hl ;loader la valeur de hl a la coordonnée normale du texte
ld hl,0000h
ld (CURCOL),hl
ld hl,str2
B_CALL(_puts) ;Mettre le texte homescreen dessus
ret
str1: ;label pour le texte
.db "petit texte.",0 ;petit texte
str2:
.db "grand texte. ",0 ;normal (plus grand) text
.end
END
-------
TEXTE
-------
Bon, je dois partir mais je promets de continuer ce tutoriel dès que je le pourrais
Conclusion
Merci de m'avertir s'il y a des bugs...
bob3000 http://www.netdude.tk
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ASSEMBLEURRE : ASSEMBLEUR par solleil
Cliquez pour lire la suite par solleil RE : ASSEMBLEURRE : ASSEMBLEUR par ghuysmans99
Cliquez pour lire la suite par ghuysmans99
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|