Poster un nouveau sujet Poster une réponse Page: 1,      >>
*NEW* Cubefield en assembleur (ION)
Auteur Message
-Coco-



Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Sam 10 Déc 2011, 21:26   Citer 

Salut à tous !

/!\ Ceci est un programme en ASSEMBLEUR. Si vous n'avez pas le câble ou pas d'émulateur, passez votre chemin, pas la peine de me demander un code en basic.

Voici...
CUBEFIELD !
En assembleur total et absolu (Eh ouais j'utilise pas de convertisseur moi xd).


Cela fonctionne sous ION, si vous ne l'avez pas, et que vous avez le câble (nécessaire), rendez vous ici : http://tout82.free.fr/forum/sujet.php?sujet=2522

Voici les liens de téléchargement :
Ti 82 stats/82 stats fr/83 : Télécharger (mediafire)

Ti 83 + : Télécharger (mediafire)

Taille : 693 octets


Petit conseil : normalement il n'y a aucune raison que ça plante mortellement et que ça reset la RAM de votre TI, mais je vous conseille tout de même de sauvegarder vos programmes importants sur votre ordinateur avant de tester celui là (on ne sait jamais)

Petit screenshot :

Le jeu tourne à peu près à 60 FPS (sans déconner ^^)

touches :
[gauche],[droite] : se mouvoir
[annul] : quitter à tout moment
[mode] : mettre en pause / reprendre lorsque le jeu est en pause
[2nde] : sortir du jeu lorsque l'on a perdu (important) / sortir de la pause

But du jeu :
Eviter les cubes.
A noter qu'il existe un High score (non nominatif)

Pour les curieux, voici le code en assembleur (note : les fonctions telles que Putsprite n'existent pas en assembleur, je les ai codés moi même à coup de define)


Code

;File generated by Z80Generator by -Coco-

#define TI83

        .nolist
        #include "ion.inc"
        .list
        #include "Ionsim.z80"

;variables here
vx = saferam1
vy = vx+1
delay = vy+1
tempdelay = delay+1
cx = tempdelay+1
cy = cx+1
nbcubes = cy+1
score = nbcubes+1
speed = score+2

#ifdef TI83P
        .org progstart-2
        .db $BB,$6D
#else
        .org progstart
#endif
        ret

        jr nc, start_program
        .db "Champ de cubes",0


start_program:
      Clearbuf
      Defvar(vx,45)
      Defvar(vy,54)
      Defvar(delay,50)
      Defvar(tempdelay,30)
      Defvar(cy,0)
      Defvar(nbcubes,0)
      ld hl,score
      ld (hl),0
      inc hl
      ld (hl),0
      
      Defvar(speed,1)
      
      
      
      set textwrite,(iy+sgrflags)

      ld hl,str_parcoco
      ld de,(15*256)+30
      ld (pencol),de
      bcall(_vputs)
      
      ld hl,str_ctr1
      ld de,(35*256)+5
      ld (pencol),de
      bcall(_vputs)
      
      ld hl,str_ctr2
      ld de,(42*256)+5
      ld (pencol),de
      bcall(_vputs)
      
      Flipbuf
      
      set textinverse,(iy+textflags)
      ld hl,str_cubefield   ;            write cubefield invert
      ld de,0
      ld (currow),de
      bcall(_puts)      
      res textinverse,(iy+textflags)
      
      Clearbuf
      res textwrite,(iy+sgrflags)
      
menuwait:
      ld de,(56*256)+10
      ld (pencol),de


      bcall(_vputs)
      Getkey
      cp gk_clear
      jp z,stop
      cp gk_seconde
      jr z,loop
      jr menuwait

      
loop:      
        Putsprite(vx,sp_vaiss,6)   
      Flipbuf
      Putsprite(vx,sp_vaiss,6)
      
      ld      a,$FF                   ;
        out     (1),a                   ;
        ld      a,$FE                   ;
        out     (1),a                   ;
        in      a,(1)                   ;
        bit     1,a                     ; [(left)]
        call      z,moveleft              ;
        bit     2,a                     ; [(right)]
        call      z,moveright             ;
      
      ld a,(vx)
      cp 5
      call z,moveright
      cp 85
      call z,moveleft

      ld hl,(tempdelay)
      dec hl
      ld (tempdelay),hl
      
      ld a,(tempdelay)
      cp 0
      call z,putBlock
      
      ld a,(nbcubes)
      cp 20
      call z,decdelay
      
;;;;;;;;pixel test;;;;;;;;;;;;;
      ld       a,(vy)                 ;
        ld   e,a        ;
        ld      a,(vx)               ;
      add a,3
        call    ionGetPixel             ;
        ld      a,(hl)                  ;
        or      a                       ;
      jr nz,dead
      
      call scroll
      
      
suit:
      cp 0
      jr nz,st

      
st:
      
      ld hl,(score)
      inc hl
      ld (score),hl
      
      Getkey
      cp gk_clear
      jp z,stop
      cp gk_mode
      call z,pause
      
      jp loop ;;;;;;;;;;endloop
      
dead:
      Putsprite(vx,sp_boum,7)
      Flipbuf
      ld de,0
      ld (currow),de
      ld hl,str_youaredead
      bcall(_puts)
      bcall(_newline)
      ld hl,str_score
      bcall(_puts)
      bcall(_newline)
      ld hl,(score)
      bcall(_disphl)
      bcall(_newline)
      ld hl,(var_hscore)
      ld de,(score)
      bcall(_cphlde)
      jp p,disphigh
      ld hl,str_newhigh
      bcall(_puts)
      ld hl,(score)
      ld (var_hscore),hl
      jr finish
      
disphigh:
      ld hl,str_high
      bcall(_puts)
      bcall(_newline)
      ld hl,(var_hscore)
      bcall(_disphl)
      
finish:      
      Getkey
      cp gk_seconde
      jp z,stop
      jr finish

moveleft:
      ld hl,(vx)
      dec hl
      ld (vx),hl
      ret

      
moveright:
      ld hl,(vx)
      inc hl
      ld (vx),hl
      ret

      
decdelay:
      ld a,(delay)
      dec a
      dec a
      ld (delay),a
      xor a
      ld (nbcubes),a
      ret
      
putBlock:
      ld a,(nbcubes)
      inc a
      ld (nbcubes),a
      ld a,(delay)
      ld b,a
      call ionrandom
      add a,3
      ld (tempdelay),a
      Random(90)
      ld (cx),a
      Random(2)
      cp 0
      jr z,pb2
      Putsprite(cx,sp_cube_1,6)
      ret
pb2:
      Putsprite(cx,sp_cube_2,6)
      ret
      
       
scroll: ld      hl,grbuf+(62*12)          ;
        ld      de,grbuf+(63*12)          ;
        ld      bc,756                  ;
        lddr                            ;
        ld      h,d                     ;
        ld      l,e                     ;
        inc     e                       ;
        ld      (hl),b                  ;
        ld      c,11                    ;
        lddr                            ;
        ret                             ;
      
pause:
      ld hl,str_pause
      ld de,$0604
      ld (currow),de
      bcall(_puts)
p2:
      Getkey
      cp gk_seconde
      ret z
      cp gk_mode
      ret z
      jr p2
       
       
stop:
        ret

sp_vaiss:
      .db %00110000
      .db %00110000
      .db %01111000
      .db %01111000
      .db %11111100
      .db %11111100
      
sp_cube_1:
      .db %11111100
      .db %11111100
      .db %11111100
      .db %11111100
      .db %11111100
      .db %11111100
      .db %11111100
      
sp_cube_2:
      .db %11111100
      .db %10000100
      .db %10000100
      .db %10000100
      .db %10000100
      .db %11111100
      
sp_boum:
      .db %10010010
      .db %01010100
      .db %00111000
      .db %11111110
      .db %00111000
      .db %01010100
      .db %10010010
      
var_hscore:
      .dw 0
      
str_cubefield:
      .db "   Cube Field   ",0
str_parCoco:
      .db "Par -Coco-",0
str_ctr1:
      .db "2nde : Play",0
str_ctr2:
      .db "Clear : Quit",0

      
str_youaredead:
      .db "  You are dead. ",0
str_score:
      .db "Score:",0
str_high:
      .db "High score:",0
str_newhigh:
      .db "New high!",0
str_pause:
      .db "Pause",0
      
.end

Rien à voir avec le BASIC n'est ce pas ? ^^

Autre note : Ce code est là également pour vous montrer à quel point c'est galère à relire, donc ne me demandez pas de mettre 36 améliorations :p


NB :
Très léger problème de collision, du au pixel test de ION, il arrive (très rarement) de mourir à 2 pixels d'un cube...

 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Sam 10 Déc 2011, 22:41   Citer 

Sympa happy.gif Mais le probleme des pixel revient quand meme souvent c'est dommage^^
J'adore l'asm bigmouth.gif tu m'apprendra a programmer hein? XD

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Dim 11 Déc 2011, 10:59   Citer 


Citer
(note : les fonctions telles que Putsprite n'existent pas en assembleur, je les ai codés moi même à coup de define)



Amusant ... je ne vois pourtant qu'un seul define.
ET au vu des quelques rudiments que j'ai en assembleur, je n'en ai vu qu'un, et je croyais que c'était une autre instruction, du genre ... je sais plus quoi, mais pas un define laugh.gif

Par ailleurs une autre question si je veux recopier ça (la question n'est pas où, ça je sais xD), il faut que je saute les lignes et que je marque tout au caratère près même la ligne avec le pixel test et tous les points virgule ?

Sinon, belle réussite coco, vraiment bigmouth.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
-Coco-



Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Dim 11 Déc 2011, 14:50   Citer 

En fait les defines sont dans le fichier "Ionsim.z80" (pour ion simple :p), que j'ai inclus au début du code...

Voici le code de Ionsim.z80 pour les intéressés, ça peut aider :

Code
;marche avec Ion !

;------------------------Les principales fonctions simplifiées-------------------------------
;----------------et leur définition ensuite------------------
#define Clear      bcall(_clrlcdf)      ;efface l'écran

#define Def(mm,val)   ld mm,var      ;correspond à un ld

#define Defvar(var,val)      ld a,val \ ld hl,var \ ld (hl),a

#define Defvar16(var,val)    ld hl,val \ ld d,h \ ld e,l \ ld hl,var \ ld (hl),de      ;pour assigner une valeur à une adresse RAM

#define Text(tx,ty,tv)   ld de,(tx*256)+ty \ ld (currow),de \ ld hl,tv \ bcall(_puts)      ;Texte type output( en x,y  tv est une etiquette

#define Vtext(tx,ty,tv)   ld de,(tx*256)+ty \ ld (pencol),de \ ld hl,tv \ bcall(_vputs)      ;texte type Texte( en x,y

#define Random(rx)   ld b,rx \ call ionrandom      ;nombre aléatoire entre 0 et rx stocké dans a.

#define Pixel(px,py,et)   ld bc,(px*256)+py \ ld d,et \ bcall(_ipoint)       ;pixel en (x,y) et non (y,x)

#define Pixelv(var,et)   ld hl,(var) \ ld b,h \ ld c,l \ ld d,et \ bcall(_ipoint)

#define Line(lx,ly,lxx,lyy,et)   ld bc,(lx*256)+ly \ ld de,(lxx*256)+lyy \ ld a,et \ bcall(_iline)   ;ligne de (lx,ly) à (lxx,lyy)

#define Dispvalue(val)   ld hl,val \ bcall(_disphl)       ; indiquer une valeur. ne convient pas aux registres 16 bits.

#define Dispvalue16(val,vall)   ld h,val \ ld l,vall \ bcall(_disphl)      ;pour les registres 16 bits, exemple Dispvalue16(b,c)

#define Darkline(lx,ly,lxx,lyy)   ld bc,(lx*256)+ly \ ld de,(lxx*256)+lyy \ bcall(_darkline)  ;ligne type PxlLigne

#define Getkey       bcall(_getk)      ;correspond au getkey du BASIC

#define Waitkey      bcall(_getkey)      ;attend l'appui d'une touche

#define Putspritea(sx,sy,sp,lin)   ld a,sy \ ld l,a \ ld a,sx \ ld b,lin \ ld ix,sp \ call ionputsprite
;crée un sprite de 8*lin pixels aux coordonnées x,y

#define Putsprite(var,sp,lin)   ld hl,var \ ld a,(hl) \ inc hl \ ld l,(hl) \ ld b,lin \ ld ix,sp \ call ionputsprite
;crée un sprite de 8*lin pixels aux coordonnées d'un 16 bits : ex Putsprite((coordonnees),sprite,8)

#define Largesprite(var,sp,lin,col)   ld hl,var \ ld c,col \ ld a,(hl) \ inc hl \ ld l,(hl) \ ld b,lin \ ld ix,sp \ call ionlargesprite

#define Clearbuf   bcall(_grbufclr)      ;efface le graph buffer

#define Flipbuf      call ionfastcopy      ;affiche le graph buffer

;-----------------Les Getkey----------------
;---ceux du Waitkey---
wk_clear .equ 9
wk_right .equ 1
wk_up .equ 3
wk_left .equ 2
wh_down .equ 4
wk_enter .equ 5
wk_mode .equ 69
wk_del .equ 10

;---ceux de Getkey---
gk_left .equ 2
gk_right .equ 3
gk_up .equ 4
gk_down .equ 1
gk_enter .equ 9
gk_seconde .equ 54
gk_alpha .equ 48
gk_clear .equ 15
gk_mode .equ 55



Moi perso ça me sert beaucoup (après je crois que je suis un des rares programmeurs en ASM ici :p)


Sinon snap je serais totalement incapable de t'apprendre l'assembleur, en fait j'ai appris plus ou moins tout seul avec des trucs sur internette. Mais souvent on ne trouve que des bribes de code, comme 'exemple d'utilisation de ionputsprite, mais avec de l'entraînement ça finit par rentrer.

En fait on apprend pas mal en regardant le code de programmes en assembleur déjà faits (par exemple j'ai énormément appris de Falldown). En tout cas si vous voulez vous y mettre bon courage, il en faut ^^

 Adresse email Haut de page Bas de page 
 
calcugeek



Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 11 Déc 2011, 16:22   Citer 

Est ce que c'est possible d'avoir un équivalent en hexadécimal? J'ai pas le cable cry.gif cry.gif

----------------------
En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
-Coco-



Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Dim 11 Déc 2011, 16:24   Citer 

Si tu es prêt à recopier 1000 petits caractères sans aucune erreur autorisée (sinon mémoire cleaered), tu peux toujours tenter de l'ouvrir avec un éditeur hexadécimal et le recopier.

Personnellement, je pense que c'est une mauvais idée :p

 Adresse email Haut de page Bas de page 
 
calcugeek



Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 11 Déc 2011, 16:29   Citer 

euh ouais. O_o sinon tu peux me donner un exemple d'editeur?

----------------------
En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
 Adresse email Haut de page Bas de page 
 
-Coco-



Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Dim 11 Déc 2011, 16:40   Citer 

D'éditeur pour écrire en assembleur ?

Ben... Bloc-notes !
Ce programme est largement suffisant.
Personnellement j'utilise Notepad++ qui est une version améliorée de Bloc-notes, que je trouve plus pratique.
Après pour compiler et tout ça, il existe des programmes spéciaux.
Si vous voulez avoir des petites notions, allez voir sur :
http://www.siteduzero.com/tutoriel-3-57-apprendre-l-asm-z80-pour-ti.html

Bon c'est pour Ti 83 +, et il faut utiliser un émulateur (sauf si vous avez une Ti 83+, mais si vous débutez en assembleur je vous conseille vivement d'utiliser un émulateur). Mais vous avez tous els outils de compilation, dont ceux pour ti 83, si vous êtes un peu débrouillards winkle.gif

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 11 Déc 2011, 19:19   Citer 

sinon, matrefeytontias viens juste den publier un sur Espace TI : http://espace-ti.forumactif.com/t531-asmedit-editeur-asm-pour-windows

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 12 Déc 2011, 21:04   Citer 

Petite question pour -coco- (oui je sais je suis très énervant crazy.gif )
Dans un tuto pour z80 le mec dit sa


Citer : mec qui dit sa
Logiquement, ils peuvent donc contenir des valeurs de %00000000 à %11111111, c'est-à-dire entre 0 et 255. Votre programme ne sera pas compilé en cas de dépassement.



Mais le truc que j'ai pas compris c'est comment on reconnait les valeur. Comment on peut savoir que %11111111 c'est 255?

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 12 Déc 2011, 21:46   Citer 

C'est le language binaire.
1001 base 2 = 2^3+2^0 = 9
1011 base 2 = 2^3+2^1+2^0 = 11
11111111 base 2 = 2^8-1 = 255
Le 2^8-1 c'est pour éviter 2^7+2^6+...+2^0

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 12 Déc 2011, 21:57   Citer 

OK merci beaucoup! Et sa sert à quelque chose de savoir sa pour le z80?

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 12 Déc 2011, 22:06   Citer 

C'est indispensable pour manipuler des languages de bas niveau comme l'assembleur. Ne serait-ce que pour comprendre ce que fait ton compilateur.
Je te rappelles que toute l'électronique se sert du language binaire.
Une TI en assembleur c'est comme un microcontrôleur : tu as des périphériques et des adresses mémoire numérotées en hexadécimal voire en binaire.

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 12 Déc 2011, 23:20   Citer 

OK. Et encore une question : 200 = 11001000b = C8h
C'est bien joli mais pourquoi? C'est quoi ce C8h xD

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 12 Déc 2011, 23:56   Citer 

Je vais peut être dire une énorme connerie, mais je me permets d'émmettre une hypothèse:

le h se retrouve souvent après des "trucs" en ASM, je ne sais pas trop quoi, et il ne sert apparement pas.

Il se pourrait que C8 soit la traduction hexadécimale de 11001000, même si ça m'étonnerait, j'aurais dit plus (au moins E8 ou plus...)

 Adresse email Haut de page Bas de page 
 
cKZO



Autorisation : Membre
Nb de messages : 81
Inscrit le : Ven 25 Nov 2011, 14:06
Posté le : Mar 13 Déc 2011, 8:58   Citer 

le prblm c que bcp de programmes sont ac "ion mais je sais pas comment ça marche
domage il a l'air bien ton prgm winkle.gif

----------------------
"Qui parle sème, qui écoute récolte."
sagesse Persane
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 13 Déc 2011, 12:26   Citer 

Le h signifie hexadécimal et b binaire.
C8 hexa = 12*16+8 = 200
11001000 bin = 128+64+8 = 200

Si tu as du mal avec les calculs ou si tu n'as jamais eu de cours, utilise la calculatrice windows en mode programmeur pour convertir toutes les bases 2,8,10,16.
( ou bien utilise ta TI avec mon programme de convertion godgrace.gif )

----

ION est écrit en assembleur classique. Il permet de lire des programmes écris dans un language différent et surtout compilés autrement qu'en hexadécimal habituel.

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 13 Déc 2011, 15:56   Citer 

Pour savoir comment installer ION, regarde dans ce topic...

http://tout82.free.fr/forum/sujet.php?sujet=2522

plus précisément cette partie:


Citer : Persalteas

téléchargez ion ici (utilisez les progs en 83p !!). les 3 programmes indispensables sont ION, IONZ et ZMINFO. le reste c'est des modules facultatifs.(n'utilsez pas celui apellé "minuscules", c'est pour les 83+ ! erreur de rangement de ma part !

une fois les progs dans votre TI, éxécutez ION. ça écrit "ION Installed" et deux programmes A et thêtaION se créent.

Vous pouvez supprimmer ION et IONZ pour gagner de la place, mais conservez les deux autres (ou alors supprimez A et faites un nouveau prog du nom de votre choix en écrivant:

:Envoi(9prgm@ION
:EffEcr


envoyez ensuite vos progs en ASM, et quand vous éxécutez A, il apparait une liste de vos programmes en ASM.Quittez ION en faisant [2nd][mode].



 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Mar 13 Déc 2011, 22:18   Citer 

A ok merci linkakro. Mais par contre j'ai pas compris ton calcul xD

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 14 Déc 2011, 13:59   Citer 

Quand on a compris c'est simple sur le principe ne t'en fais pas winkle.gif

Toi tu comptes en base 10, base décimale, avec des nombres variant de 0 à 10.

Le binaire est en base 2, avec des 0 et des 1.
Le nombre 00110101 sera donc égal à (en partant de la droite) :
1*2^1 + 0*2² + 1*2^3 + 0*2^4 + 1*2^5 + 1*2^6 + 0*2^7 + 0*2^8
Soit : 1 + 0 + 8 + 0 + 32 + 64 + 0 + 0
= 105

Voila !

Le calcul en hexa reprend les mêmes bases, sauf qu'avec des 1 et des 0, on a 0123456789ABCDEF, avec A=10,B=11, etc jusqu'à F=15.

Je t'invite à aller voir ceci si tu n'as pas tout compris : http://www.siteduzero.com/tutoriel-3-407863-tp-decomposeur.html

En espérant t'avoir aidé winkle.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2025 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink