Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 07 Juil 2011, 21:33
Comme l'indique le titre, voici mon premier programme en assembleur (excepté une "clrhome" et quelques "Hello world!"). Il tourne sous ion et affiche les formules usuelles d'aires et de volumes.
N'UTILISER QU'AVEC UNE TI82stats, TI82stats.fr, ou TI83(non+)
JE NE SUIS NULEMENT RESPONSABLE DE L'UTILISATION DE CE PROGRAMME (ni bugs possibles, ni punition pour triche, ni autre).
Voici le code source
Code
.nolist ; début de header (entête nécessaire à la compilation)
#include "ion.inc"
.list
#ifdef TI83P
.org progstart-2
.db $BB,$6D
#else
.org progstart
#endif
ret ; fin du header
jr nc,start; saut au label "start
.db "FORMULES",0 ; nom du programme sous ion (sous forme de chaine d'où le ",0"
start:; label "Start": début du programme
ld hl,0 ;on charge 0 dans le registre (variable temporaire) hl
ld (currow),hl ;en place le curseur sur la ligne 0 (en haut)
ld hl,0 ;idem mais pour la collone
ld (curcol),hl ;idem mais pour la collone
ld hl,titre1 ;met le texte de la variable "titre1" (voir fin du programme)dans hl
call _puts ; affiche le contenu de hl en grosse police en haut à gauche
ld a,7
ld (penrow),a
ld a,1
ld (pencol),a
ld hl,carre
call _vputs ; idem mais petite police et coordonnées en pixels
call _getkey; appelle la routine "getkey": attente d'une touche + valeurs dans a (un autre registre)
call _clrlcdf; appelle la routine "clrlcdf": efface l'écran
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 07 Juil 2011, 22:21
Plus le language est proche de la machine et plus c'est puissant et compliqué.
J'ai retrouvé ion puis testé, c'est très bien !
C'est faisable en basic, mais ça gère pour un premier programme assembleur ! BRAVO.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Ven 08 Juil 2011, 9:50
Ah bon!! Et comment fait tu sur TI82stats pour avoir les deux polices en même temps et les minuscules? (sur TI83+, je crois que c'est facile, mais sur TI82stats, sauf pixel par pixel, je ne voie pas.
Sinon, j'édite le code pour rajouter des commentaires (ce qui suit les ";" : c'est comme ça qu'on les fait en ASM).
EDIT: version 2 : 620 octés au lieu de 701, utilisation des carractères spéciaux pour une meilleur lisibilité et version pour TI83+ (non testée, mais vue que la version pour TI82stats compillée simultanémant fonctionne, il ne devrait pas y avoir de problèmes; néanmoins, je décline toute responsbilité dans le cas où il y en aurrait).
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 08 Juil 2011, 13:02
J'ai pas dis que ce serait beau en basic . L'affichage est faisable mais moins beau.
L'asm est nécessaire pour que ce soit beau. Et c'est beau !
C'est super, mais il manque pi à la formule de volume de la boule.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Ven 08 Juil 2011, 20:36
Voici la v3 qui fait 602 octés:
les fichiers qui changent :
-Le fichier pour les TI83+ : FORMULES.8xp
-Le fichier pour les TI83/82stats/82stats.fr : FORMULES.83p
-La source (cf en-dessous) : FORMULES.z80
Voici la source :
Code
.nolist
#include "ion.inc"
.list
#ifdef TI83P
.org progstart-2
.db $BB,$6D
#else
.org progstart
#endif
ret
jr nc,start
.db "FORMULES",0
Autorisation : Membre
Nb de messages : 178
Inscrit le : Sam 02 Avr 2011, 12:53
Posté le : Sam 09 Juil 2011, 19:54
Sandro, j'ai essayé de me lancer dans l'asm mais... la compilation ça bloque ! j'ai suivi de A à Z le fofo SDZ sur les début de la programmation asm... j'ai téléchargé le kit avec Tasm, virtual TI et le asm.bat mais... après je créé un fichier texte, je change l'extention en .z80. et après... je bloque :p
merci
---------------------- "Des millions de gens ont vu tomber une pomme, Newton est le seul a s'être demandé pourquoi ."
"L'urgent est fait, l'impossible est en cours.
un probléme a toujours une solution, la solution est de trouver le probléme, pour les miracles, prévoir un délai ...
"
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 10 Juil 2011, 20:27
Si tu cherche de l'aide pour l'ASM, je te conseillerait le forum des z80 sur yAronnet, il y a 2-3 membres qui m'ont l'air de bien s'y connaitre (ce sont eux qui m'ont permis de réussir une compilation après plus de 40 posts (je suis nul en informatique).
Sinon tu peut essayer de télécharger tous les fichiers de la v2 (sauf le .83p et le .8xp) et de lancer "compiler2.bat" pour voir (normalement ça devrait s'ils sont tous dans le même dossier).
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 79
Inscrit le : Dim 15 Mai 2011, 11:33
Posté le : Lun 11 Juil 2011, 10:26
Félicitations, c'est un très bon début pour quelqu'un qui dit n'avoir jamais touché à ça auparavant. Sache toutefois qu'Ion n'est pas indispensable pour ce genre de programmes.... Mais ça demande plus de programmation sans, évidemment.
Ti fournit un fichier include avec toutes les commandes que l'on retrouve habituellement en Basic, pour les exécuter en assembleur.
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mar 12 Juil 2011, 14:17
Merci beaucoup,
j'était déjà au courrant pour la possibilité de ne pas utiliser de shell pour l'ASM en utilisant les codes héxa et ":envoi(9prgmXXX", mais il semblerrait que Ion soit ma version la plus répondue qui permet en plus de compiler pour TI83+ en même temps.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes