joe14 Le 04/05/2003 à 22:46 J'aimerais que quelqu'un m'explique quelle est la capacité de la pile (stack).
D'après TI, c'est 400 octets. A plusieurs endroits, j'ai constaté que l'on en déduisait qu'elle pouvait contenir 25 valeurs de 16 bits. C'est là que je ne comprends pas. 400 octets, pour moi, ça fait 200 valeurs de 16 bits.
Il y a quelqu'un qui confond bits et octets là. 25*16=400, mais il faut tenir compte des unités là.
joe14 Le 06/05/2003 à 00:20 TI écrit 400 bytes. byte = octet.
joe14 Le 08/05/2003 à 23:48 Merci. Il va falloir que je trouve une autre explication à mon problême...
joe14 Le 08/05/2003 à 23:54 J'ai une nouvelle question !
La pile est-elle une structure particulière ou est-ce simplement une zone de mémoire que l'on nomme ainsi ?
Si c'est simplement une zone de mémoire, on pourrait alors déplacer le stack dans une saferam en changeant la valeur du registre SP.
oui on peut modifier la valeur du stack pointer SP, regarde cette routine de patrick davison pour phoenix) :
;############## Clears screen buffer
clear_buffer:
ld (smc_savesp+1),sp
ld hl,0
ld sp,GFX_AREA+1024
ld b,63
loop_super_clear:
push hl
push hl
push hl
push hl
push hl
push hl
push hl
push hl
djnz loop_super_clear
smc_savesp:
ld sp,0
******************************
ce que d'autres programmeurs font, c'est que avant de véritablement lancer le programme ils sauvegardent SP, puis, quand tu veux quitter le programme, SP est restauré ce qui fait que tu peux quitter même quand t'as "pushé" à fond.