> > esponente "00/xx/xx/00", cioe' come "00 00 60 EA 00", dove $EA60 > > e' proprio 60000! > > No, fermo, aspetta li'... > Questa cosa funziona solo con gli interi. Esatto... con tutti e 65536 interi :-) Mettendo 60000.5 si ottengono valori diversi (e ci mancherebbe!). "123456" non si puo' convertire in un intero "z80" (a 16 bit) per cui la soluzione dovrebbe essere qualcosa tipo FP-TO-INT e ritorno. Ecco un'altra soluzione (la pizza mi ha ispirato): rst $28 defb $34 ; stk-data defb 142,64,230,102,102 ; number (indovin qual est this number!) defb $38 ; end-calc call $2da2 ; fp-to-bc ret nc ; torna subito se conversione ok ld bc, 0 ; altrimenti restituisci zero ret Urka, siamo a 16 bytes tondi tondi (compreso lo stacking dei cinque byte del numero floating point)!!! E ora indovina di che numero si tratta! (quello originale in floating-point, dico!). Il disassemblato della routine fp-to-bc ($2da2) contiene qualche spunto simpatico - la conversione e' uguale a INT (x+.5) ...! > > La conversione e' esatta, e vale per qualsiasi numero da 0 a > > 65535! > No, mi sa che vale per ogni numero da -32768 a 32767 Li' avevo fatto "LET a=60000" e mi ritrovo la coppia $EA/$60, quindi deve valere per i numeri positivi...! alf