ZuperIndex
ZINDEX
ZuperIndex
ZDICO
ZuperIndex
ZUPERINDEX
Sources
types Fonction TI-92 Introduction
Fonction TI-92 Source de programme type
Fonction TI-92 Source de bibliothèque type
Fonction TI-92 Les fichiers .h et .bin Barre

Page précédente

Le Sommaire De Cette Page Le Langage Basic Fonction TI-92 Introduction

puce Ce cours vous présente les sources d'un programme et d'une bibliothèque type, avec des conseils pour avoir le moins de problèmes que possible :-)

puce Un fichier source, c'est un fichier ASCII portant l'extension .asm, il est écrit directement avec un traitement de texte quelconque comme Notepad, WordPad, Edit... ou spécialisé comme FargEdit de Benoît Scherrer.

Surtout enregistrez vos fichiers sources en ASCII,
du texte formaté rajoute du code qui ne peut être compilé.

puce Ce fichier, une fois compilé, donnera soit un programme exécutable soit une bibliothèque utilisable, avec l'extension .92p.

puce Pour ne pas vous imposer ma manière personnelle d'organiser les choses, je vous indique à chaque fois ce qui est obligatoire et ce qui peut être modifié.

puce Enfin, je vous explique aussi ce que sont les fichiers .h et .bin, les défauts et avantages de ceux-ci...


Barre



Le Sommaire De Cette Page Le Langage Basic Fonction TI-92 Source de programme type

puce N'oubliez pas de laisser au moins un espace à gauche de chaque début de ligne, sinon le compilateur le considère comme un label et génère une erreur.

Par ailleurs, macros et sous-programmes sont expliqués en détail.

;  -------------------------------------------------
; |                                                 |
; |  <Titre>                                        |
; |    réalisé par <Auteur> à partir du <date>      |
; |      compiler avec Fargo 0.2.7.1                |
; |                                                 |
;  -------------------------------------------------

  include <bibliothèque.h>
; inscrivez autant d'include que de bibliothèques nécessaires

  xdef	_main
; vous devez exporter le label qui pointe la première instruction
  xdef	_comment
; vous devez éventuellement exporter le label qui pointe le commentaire


;  ------------------
; | Macros           |
;  ------------------
; inutile si vous ne voulez pas de macros dans le programme principal


;  ------------------
; | Sous-programme   |
;  ------------------
; inutile si vous ne voulez pas de sous-programmes dans le programme principal


;  ------------------
; | Programme        |
;  ------------------
  _main:		; label pointant la première instruction
			; mettre ici les
			;  | instructions composant
			;  | le programme principal
	RTS		; dernière instruction obligatoire d'un programme


;  ------------------
; | Données          |
;  ------------------
; il est presque impératif de mettre les données après le code,
; prenez garde à mettre les variables de type octet après les types mot et double mot.
  doublemot:	dc.l $00289123				; déclaration en base hexadécimale
  mot:		dc.w 1999,2091				; deux déclarations en base décimale
  octet:	dc.b %01101000				; déclaration en base binaire
  _comment:	dc.b "Commentaire du programme",0	; chaîne terminée par un caractère nul


;  ------------------
; | Fin              |
;  ------------------
  end
  ; fin du programme source

puce C'est un petit peu fouillis, voici le minimum :

;  -------------------------------------------------
; |                                                 |
; |  <Titre>                                        |
; |    réalisé par <Auteur> à partir du <date>      |
; |      compiler avec Fargo 0.2.7.1                |
; |                                                 |
;  -------------------------------------------------

  xdef	_main
  xdef	_comment


;  ------------------
; | Macros           |
;  ------------------


;  ------------------
; | Sous-programme   |
;  ------------------


;  ------------------
; | Programme        |
;  ------------------
  _main:
	RTS


;  ------------------
; | Données          |
;  ------------------


;  ------------------
; | Fin              |
;  ------------------
  end

Barre



Le Sommaire De Cette Page Le Langage Basic Fonction TI-92 Source de bibliothèque type

puce N'oubliez pas de laisser au moins un espace à gauche de chaque début de ligne, sinon le compilateur le considère comme un label et génère une erreur.

;  -------------------------------------------------
; |                                                 |
; |  <Titre>                                        |
; |    réalisé par <Auteur> à partir du <date>      |
; |      compiler avec Fargo 0.2.7.1                |
; |                                                 |
;  -------------------------------------------------

  include <bibliothèque.h>
; inscrivez autant d'include que de bibliothèques nécessaires

  xdef	_library
; vous devez exporter le label qui pointe le nom de la bibliothèque

  xdef	_nomlib@0000
  xdef	_nomlib@0001
  xdef	_nomlib@xxxx
; inscrivez autant d'xdef que de fonctions nécessaires

;  ------------------
; | Macros           |
;  ------------------
; inutile si vous ne voulez pas de macros dans le programme principal


;  ------------------
; | Sous-programme   |
;  ------------------
; inutile si vous ne voulez pas de sous-programmes dans le programme principal


;  ------------------
; | Bibliothèque     |
;  ------------------
  _nomlib@0000:		; label pointant la fonction _nomlib@0000
			; mettre ici les
			;  | instructions composant
			;  | la fonction _nomlib@0000
	RTS		; dernière instruction obligatoire de la fonction

  _nomlib@0001:		; label pointant la fonction _nomlib@0001
			; mettre ici les
			;  | instructions composant
			;  | la fonction _nomlib@0001
	RTS		; dernière instruction obligatoire de la fonction

  _nomlib@xxxx:		; label pointant la fonction _nomlib@xxxx
			; mettre ici les
			;  | instructions composant
			;  | la fonction _nomlib@xxxx
	RTS		; dernière instruction obligatoire de la fonction


;  ------------------
; | Données          |
;  ------------------
; il est presque impératif de mettre les données après le code,
; prenez garde à mettre les variables de type octet après les types mot et double mot.
  doublemot:	dc.l $00289123				; déclaration en base hexadécimale
  mot:		dc.w 1999,2091				; deux déclarations en base décimale
  octet:	dc.b %01101000				; déclaration en base binaire
  _library:	dc.b "_nomlib",0			; chaîne terminée par un caractère nul


;  ------------------
; | Fin              |
;  ------------------
  end
  ; fin de la bibliothèque source

puce C'est un petit peu fouillis, voici le minimum :

;  -------------------------------------------------
; |                                                 |
; |  <Titre>                                        |
; |    réalisé par <Auteur> à partir du <date>      |
; |      compiler avec Fargo 0.2.7.1                |
; |                                                 |
;  -------------------------------------------------

  xdef	_library

  xdef	_nomlib@0000


;  ------------------
; | Macros           |
;  ------------------


;  ------------------
; | Sous-programme   |
;  ------------------


;  ------------------
; | Bibliothèque     |
;  ------------------
  _nomlib@0000:
	RTS


;  ------------------
; | Données          |
;  ------------------
  _library:	dc.b "_nomlib",0


;  ------------------
; | Fin              |
;  ------------------
  end

Barre



Le Sommaire De Cette Page Fonction TI-92 Les fichiers
Fonction TI-92 .h
Fonction TI-92 .bin


Barre



Le Sommaire De Cette Page Le Langage Basic Fonction TI-92 Le fichier .h

puce Les fichiers .h nous intéressent car ils permettent d'alléger le code source, en effet vous pouvez mettre dans un fichier .h du code assembleur qui n'a pas une importance fondamentale et qui tend à embrouiller les choses (des macros par exemple, ou encore pire avec les sprites...).

puce Pour accéder à ce code, il faut lier ce fichier .h au programme avec la ligne include "nom".hnom est le nom du fichier .h.

puce Désormais vous appelez une macro, vous sautez à un sous-programme... comme si de rien n'était :-)

puce Notez que d'autres fichiers portant l'extension .h représentent un autre type (ne nous intéresse pas dans cette page) qui est utilisé pour les bibliothèques, ils contiennent les noms des fonctions avec les paramètres ainsi qu'une courte description et enfin l'état de certains registres en entrée et en sortie.


Barre



Le Sommaire De Cette Page Fonction TI-92 Le fichier .bin

puce Les fichiers .bin sont comme leur extension l'indique, du code binaire.
Attention, ceci n'est que l'extension la plus intuitive, vous pourriez trouver un fichier binaire avec une extension quelconque.

puce Je pense que ces fichiers sont utilisés principalement pour sauvegarder des images, peut être pour inclure des opcodes (instructions en assembleur compilées, donc en... binaire) sans avoir à retaper le code assembleur original :-)

puce Ce code binaire, contrairement aux fichiers .h, n'est pas lié au programme.
L'assembleur génère ce code à l'endroit exacte où est déclarée la ligne incbin "nom.bin", où nom est le nom du fichier à inclure.

puce Pour connaître l'adresse de ce code, il vous suffirait d'écrire :

	pointeur_binaire:
	incbin	"image1.bin"
puce puis de faire :
	LEA	pointeur_binaire(PC)	; l'adresse du code est dans A0

Barre



 

 

Lisez la section sur les droits d'auteur et la licence d'utilisation avant de distribuer Zguide.

Zguide © 1998 - 1999 par Florian DREVET. Tous droits réservés