fonction rand : comment fonctionne-t-elle vraiment?
+6
mdr1
Polymorph
matrefeytontias
linkakro
maxence
sandro
10 participants
Espace TI: Forum :: Calculatrices & Hardware :: Questions sur les calculatrices :: Questions sur la TI-82 Stats et la TI-83
Page 2 sur 4
Page 2 sur 4 • 1, 2, 3, 4
Re: fonction rand : comment fonctionne-t-elle vraiment?
perso, je vois 3 hypothèse :
1) il s'agit uiquement de rotations, permutations et d'échanges de chiffres avec un emplacement spécial de la ram
2) il s'agit d'un calcul (éventuellement accompagné de rotations et/ou de permutations) quivie d'un modulo 1
3) un mélange des 2
Pour voir si ça aide, un extrait de l'exécution de la fonction (en asm). regardez seulement la dernière instruction de chaque adresse, les autres sont les instructions précédentes:
Sandro
1) il s'agit uiquement de rotations, permutations et d'échanges de chiffres avec un emplacement spécial de la ram
2) il s'agit d'un calcul (éventuellement accompagné de rotations et/ou de permutations) quivie d'un modulo 1
3) un mélange des 2
Pour voir si ça aide, un extrait de l'exécution de la fonction (en asm). regardez seulement la dernière instruction de chaque adresse, les autres sont les instructions précédentes:
- Spoiler:
- 1342:23: inc hl ;1 bytes 6 clocks
1343:ed67: inc hl rrd ;2 bytes 18 clocks
1345:23: inc hl rrd inc hl ;1 bytes 6 clocks
1346:ed67: inc hl rrd inc hl rrd ;2 bytes 18 clocks
1348:23: inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1349:ed67: inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
134B:23: inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
134C:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
134E:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
134F:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1351:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1352:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1354:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1355:c9: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret ;1 bytes 10 clocks ; pile : 0d48;8486;40a0;40e5;5006
0D48:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ;2 bytes 18 clocks
0D4A:e1: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl ;1 bytes 10 clocks ; pile : 8486;40a0;40e5;5006
0D4B:2b: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl ;1 bytes 6 clocks
0D4C:e5: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl ;1 bytes 11 clocks ; pile : 0d48;8485;40a0;40e5;5006
0D4D:c5: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ;1 bytes 11 clocks ; pile : 0100,0d48;8485;40a0;40e5;5006
0D4E:7e: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ;1 bytes 7 clocks
0D4F:4f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a ;1 bytes 4 clocks
0D50:e60f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 ;2 bytes 4 clocks
0D52:283f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ;2 bytes 12/7 clocks
0D93:218f84: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F ;3 bytes 10 clocks
0D96:cd3c13: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C ;3 bytes 17 clocks
133C:af: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a ;1 bytes 4 clocks
133D:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd ;2 bytes 18 clocks
133F:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl ;1 bytes 6 clocks
1340:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd ;2 bytes 18 clocks
1342:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl ;1 bytes 6 clocks
1343:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1345:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1346:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1348:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1349:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
134B:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
134C:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
134E:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
134F:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1351:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1352:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd ;2 bytes 18 clocks
1354:23: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ;1 bytes 6 clocks
1355:c9: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret ;1 bytes 10 clocks
0D99:ed67: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ;2 bytes 18 clocks
0D9B:79: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c ;1 bytes 4 clocks
0D9C:1f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra ;1 bytes 4 clocks
0D9D:1f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra ;1 bytes 4 clocks
0D9E:1f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra ;1 bytes 4 clocks
0D9F:1f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra ;1 bytes 4 clocks
0DA0:e60f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 ;2 bytes 4 clocks
0DA2:283f: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ;2 bytes 12/7 clocks
0DA4:47: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ;1 bytes 4 clocks
0DA5:119784: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ;3 bytes 10 clocks
0DA8:2a8084: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ;3 bytes 16 clocks
0DAB:1a: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) ;1 bytes 7 clocks
0DAC:84: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h ;1 bytes 4 clocks
0DAD:27: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ;1 bytes 4 clocks
0DAE:12: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a ;1 bytes 7 clocks
0DAF:1b: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ;1 bytes 6 clocks
0DB0:1a: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) ;1 bytes 7 clocks
0DB1:8d: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l ;1 bytes 4 clocks
0DB2:27: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa ;1 bytes 4 clocks
0DB3:12: inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd pop hl dec hl push hl push bc ld a,(hl) ld c,a and 15 jr z,$0D93 ld hl,$848F call $133C xor a rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl rrd inc hl ret rrd ld a,c rra rra rra rra and 15 jr z,$0DE3 ld b,a ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a ;1 bytes 7 clocks
0DB4:1b: dec de ;1 bytes 6 clocks
0DB5:2a7e84: dec de ld hl,($847E) ;3 bytes 16 clocks
0DB8:1a: dec de ld hl,($847E) ld a,(de) ;1 bytes 7 clocks
0DB9:8c: dec de ld hl,($847E) ld a,(de) adc a,h ;1 bytes 4 clocks
0DBA:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ;1 bytes 4 clocks
0DBB:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a ;1 bytes 7 clocks
0DBC:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ;1 bytes 6 clocks
0DBD:1a: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) ;1 bytes 7 clocks
0DBE:8d: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l ;1 bytes 4 clocks
0DBF:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ;1 bytes 4 clocks
0DC0:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a ;1 bytes 7 clocks
0DC1:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ;1 bytes 6 clocks
0DC2:2a7c84: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ;3 bytes 16 clocks
0DC5:1a: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) ;1 bytes 7 clocks
0DC6:8c: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h ;1 bytes 4 clocks
0DC7:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ;1 bytes 4 clocks
0DC8:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a ;1 bytes 7 clocks
0DC9:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ;1 bytes 6 clocks
0DCA:1a: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) ;1 bytes 7 clocks
0DCB:8d: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l ;1 bytes 4 clocks
0DCC:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ;1 bytes 4 clocks
0DCD:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a ;1 bytes 7 clocks
0DCE:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ;1 bytes 6 clocks
0DCF:2a7a84: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ;3 bytes 16 clocks
0DD2:1a: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) ;1 bytes 7 clocks
0DD3:8c: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h ;1 bytes 4 clocks
0DD4:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ;1 bytes 4 clocks
0DD5:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a ;1 bytes 7 clocks
0DD6:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ;1 bytes 6 clocks
0DD7:1a: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) ;1 bytes 7 clocks
0DD8:8d: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l ;1 bytes 4 clocks
0DD9:27: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ;1 bytes 4 clocks
0DDA:12: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a ;1 bytes 7 clocks
0DDB:d2e10d: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 ;3 bytes 10 clocks
0DDE:1b: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ;1 bytes 6 clocks
0DDF:eb: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl ;1 bytes 4 clocks
0DE0:34: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) ;1 bytes 11 clocks
0DE1:10c2: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) djnz $0DA5 ;2 bytes 13/8 clocks
REP*3 du rose (0DAC à ODE1 (sans 0DDE à ODE0))
0DE3:c1: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) djnz $0DA5 ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa pop bc ;1 bytes 10 clocks
0DE4:05: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) djnz $0DA5 ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa pop bc dec b ;1 bytes 4 clocks
0DE5:c2420d: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) djnz $0DA5 ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa pop bc dec b jp nz,$0D42 ;3 bytes 1
0DE8:e1: dec de ld hl,($847E) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847C) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a dec de ld hl,($847A) ld a,(de) adc a,h daa ld (de),a dec de ld a,(de) adc a,l daa ld (de),a jp nc,$0DE1 dec de ex de,hl inc (hl) djnz $0DA5 ld de,$8497 ld hl,($8480) ld a,(de) add a,h daa ld (de),a dec de ld a,(de) adc a,l daa pop bc dec b jp nz,$0D42 pop hl ;1 byt
Sandro
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
[quote=linkakro]Inconvénient probable d'une récurrence classique mathématique :
si la suite est convergente, alors on aurait pas de bon aléatoire après un certain nombre d'itérations.
La suite ne peut pas être divergente car elle est bornée par 0 et 1.
Elle devrait donc n'être ni convergente ni divergente, et peut-être contenir des tests.[/quote]
Attention, tu fais une confusion : dire qu'une suite est divergente ne signifie pas qu'elle tend vers plus ou moins l'infini, mais veut simplement dire qu'elle n'est pas convergente.
Pour les tests, développe ton idée.
[quote=sandro]perso, je vois 3 hypothèse :
1) il s'agit uiquement de rotations, permutations et d'échanges de chiffres avec un emplacement spécial de la ram
2) il s'agit d'un calcul (éventuellement accompagné de rotations et/ou de permutations) quivie d'un modulo 1
3) un mélange des 2[/quote]
Bof pour la 1), parce-que quand on fait 0→rand, on a tous les mêmes valeurs, après. À moins que l'OS ne remette à 0 la partie de la RAM quand c'est nous qui initialisons.
Sinon, regardez ce test intéressant :
* mettez par exemple 78 dans rand : 78→rand
* calculez rand : rand = 0.1537402492
* calculez rand : rand = 0.7602419981
* mettez 0.1537402492 dans rand
* calculez rand : rand = 0.9435974025
Donc après une même valeur précédent de rand, il n'aura pas forcément la même valeur la fois suivante.
Donc il ne s'agit pas d'une suite basée uniquement sur le terme précédent, et c'est peut-être même pas une suite.
si la suite est convergente, alors on aurait pas de bon aléatoire après un certain nombre d'itérations.
La suite ne peut pas être divergente car elle est bornée par 0 et 1.
Elle devrait donc n'être ni convergente ni divergente, et peut-être contenir des tests.[/quote]
Attention, tu fais une confusion : dire qu'une suite est divergente ne signifie pas qu'elle tend vers plus ou moins l'infini, mais veut simplement dire qu'elle n'est pas convergente.
Pour les tests, développe ton idée.
[quote=sandro]perso, je vois 3 hypothèse :
1) il s'agit uiquement de rotations, permutations et d'échanges de chiffres avec un emplacement spécial de la ram
2) il s'agit d'un calcul (éventuellement accompagné de rotations et/ou de permutations) quivie d'un modulo 1
3) un mélange des 2[/quote]
Bof pour la 1), parce-que quand on fait 0→rand, on a tous les mêmes valeurs, après. À moins que l'OS ne remette à 0 la partie de la RAM quand c'est nous qui initialisons.
Sinon, regardez ce test intéressant :
* mettez par exemple 78 dans rand : 78→rand
* calculez rand : rand = 0.1537402492
* calculez rand : rand = 0.7602419981
* mettez 0.1537402492 dans rand
* calculez rand : rand = 0.9435974025
Donc après une même valeur précédent de rand, il n'aura pas forcément la même valeur la fois suivante.
Donc il ne s'agit pas d'une suite basée uniquement sur le terme précédent, et c'est peut-être même pas une suite.
mdr1- Or 1
- Sexe :
Age : 34
Messages : 124
Date d'inscription : 16/03/2011
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic Nspire
- - Ndless Nspire
- - TI-82
- - TI-83+
- - TI-84 Pocket.fr
- - TI-Nspire CX
Re: fonction rand : comment fonctionne-t-elle vraiment?
Je suis allé jusqu'à saisir les 14 chiffres significatifs de nombres aléatoires, et j'observe la même chose que toi avec 10 chiffres
Ce que je veux dire par "contenir des tests" est d'utiliser des conditions à l'intérieur de l'algorithme de génération.
En effet des conditions peuvent transcender des algorithmes et rendre impossible une modélisation mathématique.
Du genre ln(sin(x+2(sin(x)<.5))-3(cos(x)>.5)). Ceci est reconnu par une calculatrice mais comment définir une formule équivalente mathémathiquement ?
Dès qu'un test se promène dans un algorithme cela devient plus difficile d'analyser son fonctionnement.
Mais bon, passons, ce n'est pas un axe primordial de recherche.
Cela pourrait bien être une suite, mais nous savons déjà qu'initialiser rand avec X->rand ne produit pas le même effet que lire rand.
Qu'on ai toujours une même série après une même initialisation est tout-de-même troublant s'il n'y a pas de comportement récurrent. (ou récursif)
Merci pour la mise au point de la divergence. Je confondait aussi avec la notion de limite.
convergent : limite finie
divergent : pas de limite finie ou même pas de limite du tout.
(-2)^2 par exemple est divergente sans limite.
Ce que je veux dire par "contenir des tests" est d'utiliser des conditions à l'intérieur de l'algorithme de génération.
En effet des conditions peuvent transcender des algorithmes et rendre impossible une modélisation mathématique.
Du genre ln(sin(x+2(sin(x)<.5))-3(cos(x)>.5)). Ceci est reconnu par une calculatrice mais comment définir une formule équivalente mathémathiquement ?
Dès qu'un test se promène dans un algorithme cela devient plus difficile d'analyser son fonctionnement.
Mais bon, passons, ce n'est pas un axe primordial de recherche.
Cela pourrait bien être une suite, mais nous savons déjà qu'initialiser rand avec X->rand ne produit pas le même effet que lire rand.
Qu'on ai toujours une même série après une même initialisation est tout-de-même troublant s'il n'y a pas de comportement récurrent. (ou récursif)
Merci pour la mise au point de la divergence. Je confondait aussi avec la notion de limite.
convergent : limite finie
divergent : pas de limite finie ou même pas de limite du tout.
(-2)^2 par exemple est divergente sans limite.
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: fonction rand : comment fonctionne-t-elle vraiment?
Pour les tests, facile de définir mathématiquement : il suffit de définir la fonction par morceaux.
PS : pour le prog asm de sandro, c'est impossible à décrypter puisque faut se saouler à ne regarder que chaque dernière instruction. C'est mortel !
PS : pour le prog asm de sandro, c'est impossible à décrypter puisque faut se saouler à ne regarder que chaque dernière instruction. C'est mortel !
mdr1- Or 1
- Sexe :
Age : 34
Messages : 124
Date d'inscription : 16/03/2011
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic Nspire
- - Ndless Nspire
- - TI-82
- - TI-83+
- - TI-84 Pocket.fr
- - TI-Nspire CX
Re: fonction rand : comment fonctionne-t-elle vraiment?
oui, c'était juste pour voir si ça donnait une idée (vu que c'était déjà fait, ça ne coutait rien de le poster). Par contre, ce qu'il me faudrait serrait un désassembleur, ce serait bien plus pratique.
Sandro
EDIT : on optient la même suite sur TI89titanium. Quelcu possède-t-il un autre model non-z80 non testé (ou autre model de TI non testé (peut-être collège?)
Sandro
EDIT : on optient la même suite sur TI89titanium. Quelcu possède-t-il un autre model non-z80 non testé (ou autre model de TI non testé (peut-être collège?)
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Un désassembleur ? Calcsys, tout simplement.
Mais attention, quand tu désassembles un prog enregistré en RAM ou en archive, les sauts absolus ne tomberont pas au bon endroit (car le prog n'est pas enregistré à $9D95), mais les bons relatifs seront OK.
Mais attention, quand tu désassembles un prog enregistré en RAM ou en archive, les sauts absolus ne tomberont pas au bon endroit (car le prog n'est pas enregistré à $9D95), mais les bons relatifs seront OK.
mdr1- Or 1
- Sexe :
Age : 34
Messages : 124
Date d'inscription : 16/03/2011
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic Nspire
- - Ndless Nspire
- - TI-82
- - TI-83+
- - TI-84 Pocket.fr
- - TI-Nspire CX
Re: fonction rand : comment fonctionne-t-elle vraiment?
oui, sauf que mo problème est de décompiller des bouts de rom, et surtout d'avoir la possibilité de manipuler ensuite comme du teste. Juste pour voire un endroit spécifique, le débuggueur asm de Wabbitému est totalement apte, mais il ne permet pas vraiment de récupérer des centaines de lignes de code sous format texte.
Merci quand même
Sandro
Merci quand même
Sandro
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
J'ai réussit à récupérer des roms décompilées ici. J'ai donc commencé à repérer le code à l'aide du débuggueur asm de Wabbitému et de ces fichiers (même si il y a quelques différences malgrès un même OS), mais je suis loin d'avoir finit (je suis obligé de faire un clic pour avancer d'une instruction (sinon ça va trop vite et je vois rien si je met juste executer)).
Par ailleurs, j'ai fais quelques mesures : il faut environt 0.033 secondes pour que la TI83+ execute :rand dans un programme. Celà signifie, la fréquence du processeur de la TI83+ étant bridé à 6MHz, qu'il y a environt 200 000 T-States, donc environt 20 000 instructions asm executées (même si beaucoup le sont plusieures fois) (je compte une moyenne de 10 T-States par instructions même si c'est peut-être un peu plus ou un peu moins).
Sinon, j'ai déjà décripté un petit bout de code :
- Code:
xor a
rrd
inc hl
rrd
inc hl
rrd
inc hl
rrd
inc hl
rrd
inc hl
rrd
inc hl
rrd
inc hl
rrd
inc hl
ret
Sandro
0123 4567
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Alors là j'en reviens pas...
Ces ROMs décompilées valent leur pesant d'or...
Content que tu aies enfin trouvé...
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: fonction rand : comment fonctionne-t-elle vraiment?
Oui, c'est sur quelles ont de l'intéret. Sinon, le lien du site d'où elles viennent : [Vous devez être inscrit et connecté pour voir ce lien] : le site de Brandon (grand merci à lui, même si je ne crois pas qu'il passe ici).
Par contre, c'est vraiment gallère retrouver le code de la fonction, vu qu'il est dispersé à travers la ram et que certaines boucles snt executées des dizaines de fois.
Sandro
Par contre, c'est vraiment gallère retrouver le code de la fonction, vu qu'il est dispersé à travers la ram et que certaines boucles snt executées des dizaines de fois.
Sandro
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Bonne chance
je connais le site de Brandon, j'ai visité tous les sites des membres de detachedsolutions.
je connais le site de Brandon, j'ai visité tous les sites des membres de detachedsolutions.
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: fonction rand : comment fonctionne-t-elle vraiment?
Bonjour, j'ai peut être du nouveau... désolé pour le mini déterrage. Alors info ou intox?
Hier le prof de maths dans le cadre d'un cours sur les suites nous a distribué des exemples, dont certains sous forme de programmes. Il a dit que c'est en servant du programme suivant que la TI génère de l'aléatoire: en prenant N comme la N-ième fois qu'on se sert de la fonction aléatoire, il me semble. Il n'en a pas dit plus. Le code:
Hier le prof de maths dans le cadre d'un cours sur les suites nous a distribué des exemples, dont certains sous forme de programmes. Il a dit que c'est en servant du programme suivant que la TI génère de l'aléatoire: en prenant N comme la N-ième fois qu'on se sert de la fonction aléatoire, il me semble. Il n'en a pas dit plus. Le code:
- Code:
0.5->X
For(I,1,N
partDèc(9821X+0.211327)->X
End
Disp x
Invité- Invité
Re: fonction rand : comment fonctionne-t-elle vraiment?
Merci pour la tentative, mais ça ne PEUT pas être ça (sans compter que ça ne corespond pas aux résultats de la TI) car X0 contient une décimal, mais tous les suivants (toute les valeurss suposées comme nombres aléatoires, ont au maximum 6 décimales, car multiplier par un entier n'augmente jamais le nombre de décimales, et ajouter un nombre à 6 décimales ne peut pas faire augmenter le nombre de décimales au-delà de 6. Donc tous les nombres aléatoires n'auraient que 6 décimales, or ils en ont 14, donc c'est algorithme n'est pas le bon sur les TI z80.
Par contre, possible que cet algorithme soit valide sur les TI-Collège par example.
Merci quand même
Sandro
Par contre, possible que cet algorithme soit valide sur les TI-Collège par example.
Merci quand même
Sandro
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
De rien, je demanderai plus de précision dès que possible.
Invité- Invité
Re: fonction rand : comment fonctionne-t-elle vraiment?
merci, moi mes 3 profs de maths d'impatience veulent tous le savoir depuis que je leur ai parlé de ma recherche (dont un qui m'a demander de le contacter par mail même si je trouve après la fin de l'année)
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
La question fait donc des émules. Je suis conscient que cela enleverai l'euphorie de la recherche, mais Texas Instrument ne pourrait pas directement nous renseigner? Mais vu que cela n'est pas libre (il me semble bien) j'en doute...
Invité- Invité
Re: fonction rand : comment fonctionne-t-elle vraiment?
j'en doute aussi fortement, vu la gueule qu'ils ont apparament fait quand les clé de criptage des roms ont été craquées (il semblerait qu'ils ait été jusqu'à faire de procès (perdus)), je ne crois pas qu'il accèpteront de nous dévoiler un bout de rom décripté. A la limite l'algorithme, mais même là j'en doute.
Sandro
PS : je vais quand même leur envoyer un mail à l'occasion pour voir.
Sandro
PS : je vais quand même leur envoyer un mail à l'occasion pour voir.
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Ok, et comme on dit, qui ne tente rien n'a rien. Ils finiront peut être par craquer si tout le monde le leur demande ( :D )
Invité- Invité
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Ouais, Jarrety c'est les vendeurs, pas les ingénieurs...
persalteas- Platinum 2
- Sexe :
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :- - TI-Basic Z80
- - xLib
- - Grammer
- - TI-Basic Nspire
- - TI-82 Stats.fr
- - TI-83
- - TI-83+
- - TI-84+ SE
- - TI-86
- - TI-Nspire
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: fonction rand : comment fonctionne-t-elle vraiment?
Je sais, mais je pensais qu'ils saurraient où je dois m'addresser (et j'avais plus l'addresse de TI-Cares sous la main).
Bon, à voir si à TI-Cares ils sauront me répondre/rediriger
Bon, à voir si à TI-Cares ils sauront me répondre/rediriger
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: fonction rand : comment fonctionne-t-elle vraiment?
Lors d'un cours sur les radians, notre prof de maths nous a dis que l'algorythme utilisé pour la fonction rand se servait de pi, car ses décimales se comportent comme des nombres aléatoir ! (en effet environ 1/10 de fréquence pour chaque chiffre).
maxence- Or 4
- Sexe :
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: fonction rand : comment fonctionne-t-elle vraiment?
Ce n'est pas parce que des résultats semblent transcendants qu'ils sont basés sur un nombre transcendant comme pi...
L'algorithme pourrait très bien utiliser l'exponentielle e comme le nombre Pi.
Cela dit il est tout-à-fait possible que l'algorithme utilise Pi ou sa valeur approchée.
(notabene: transcendant signifie que le nombre ne peut pas être exprimé de manière littérale en fonction de réels avec des fonctions.
Et exprimer un transcendant avec des opérations ou des objet qui sont définis à partir du transcendant lui-même ne compte pas .
Cependant il est possible d'énoncer un transcendant comme la limite d'une fonction ou d'une suite, ce qui est courant.)
L'algorithme pourrait très bien utiliser l'exponentielle e comme le nombre Pi.
Cela dit il est tout-à-fait possible que l'algorithme utilise Pi ou sa valeur approchée.
(notabene: transcendant signifie que le nombre ne peut pas être exprimé de manière littérale en fonction de réels avec des fonctions.
Et exprimer un transcendant avec des opérations ou des objet qui sont définis à partir du transcendant lui-même ne compte pas .
Cependant il est possible d'énoncer un transcendant comme la limite d'une fonction ou d'une suite, ce qui est courant.)
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: fonction rand : comment fonctionne-t-elle vraiment?
Finalement après avoir cherché sur internet je ne pense pas que de tels nombres soient utilisés.
En effet, si on tape "algorithme génération aléatoire" (pseudo-aléatoire), on peux trouver plusieurs sites qui expliquent comment l'aléatoire est généré grâce à des algorithmes.
D’ailleurs quelqu'un avait dit que dans les langages de bas niveaux on mesurais la vitesse du processeur, mais c'est faux, quelque soit le langage on utilise des algorithme, il en existe des tas.
Il faut savoir qu'on utilise ce qu'on appelle une "graine" pour initialiser ce genre d'algorithme, par exemple "0" dans "0→rand".
La séquence qui en résulte est en effet la même à chaque fois selon la "graine" utilisée. étonnant, mais la plupart de genre d'algorithme tiennent sur une ligne (à peine 10 caractères), et les programmeurs disent même (pour troler un peu) que plus l'algorithme utilisé est long, moins les nombres générés sont aléatoires !
Il ne reste plus qu'à savoir lequel est utilisé par les TI... (http://www.alrj.org/docs/algo/random.php)
En effet, si on tape "algorithme génération aléatoire" (pseudo-aléatoire), on peux trouver plusieurs sites qui expliquent comment l'aléatoire est généré grâce à des algorithmes.
D’ailleurs quelqu'un avait dit que dans les langages de bas niveaux on mesurais la vitesse du processeur, mais c'est faux, quelque soit le langage on utilise des algorithme, il en existe des tas.
Il faut savoir qu'on utilise ce qu'on appelle une "graine" pour initialiser ce genre d'algorithme, par exemple "0" dans "0→rand".
La séquence qui en résulte est en effet la même à chaque fois selon la "graine" utilisée. étonnant, mais la plupart de genre d'algorithme tiennent sur une ligne (à peine 10 caractères), et les programmeurs disent même (pour troler un peu) que plus l'algorithme utilisé est long, moins les nombres générés sont aléatoires !
Il ne reste plus qu'à savoir lequel est utilisé par les TI... (http://www.alrj.org/docs/algo/random.php)
maxence- Or 4
- Sexe :
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: fonction rand : comment fonctionne-t-elle vraiment?
C'est marrant le cycle obtenu par ax+b_mod_n.
J'aime beaucoup la méthode des xor et registres à décalages.
(cela me rappelle le cryptage de canal+ autrefois, que j'ai étudié en terminale).
J'aime beaucoup la méthode des xor et registres à décalages.
(cela me rappelle le cryptage de canal+ autrefois, que j'ai étudié en terminale).
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Page 2 sur 4 • 1, 2, 3, 4
Sujets similaires
» [ASM Z80] Comment mettre un OP dans un registre 16 bit
» Comment executer un jeu ION?
» [ASM] Comment créer un programme ASM ?
» [AXE] Comment fonctionne: Pt-Mask ?
» Comment avoir la source d'une AppVar ?
» Comment executer un jeu ION?
» [ASM] Comment créer un programme ASM ?
» [AXE] Comment fonctionne: Pt-Mask ?
» Comment avoir la source d'une AppVar ?
Espace TI: Forum :: Calculatrices & Hardware :: Questions sur les calculatrices :: Questions sur la TI-82 Stats et la TI-83
Page 2 sur 4
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum