FORTH_doc_01
Velikost typů
- CELL 16bit
- DOUBLE 32bit
- Pointer je 16bit, nebo DOUBLE, pak nižší 2 byte někam ukazují, 3. byte říká kam (0x80 = RAM) a 4. je nula
- ukládání v paměti - nižší řády níž => byte b[]= 0x12345678 => b[0]=0x78; b[1]=0x56; b[2]=0x23; b[3]=0x12; => b: .byte 0x78 0x56 0x34 0x12
- na zásobníku taky 0x12345678 => push(0x12); push(0x34); push(0x56); push(0x78) => forth> 0x12345678 ~ forth> 0x12 0x34 0x56 0x78
- prostě je to normálně jako na 8086 little endian
- oba zásobníky rostou zhora dolů, ukazují na poslední hodnotu v zásobníku. Počáteční adresa je tedy 0x0100. push(x): *(--SP)=x; pop: return *(SP++)