Exit from: 22D4 POINT LP 2580 S ATTR S 2D22 STK DIGIT 34A5 in (via 34B0 IN PK STK) 34AC peek (from 34B0 IN PK STK) 3669 code (from 3671 STK CODE) STACK A CONSTANT see 341B stk-zero STACK BC subroutine 2D2B Given a two-byte integer, puts its value on the calculator stack in small integer FP form. The value is always read as positive, eg FFFFh is read as 65535d, not -1. Input parameters: value in the BC register. Action: reset the IY register to its permanent value of 5C3A ERR NR - see index entry IY register. - load A, E, D, C and B with the 5 bytes of the "small integer"; zero, zero, lo-byte, hi-byte, zero. The first zero indicates a small integer, the second a positive number. - call 2AB6 STK STORE to put these 5 bytes on the calculator stack - call 0028 FP CALC without an operation, to set a stackpointer. STK STORE leaves it on STKEND - clear the carry flag. Exit: RET. Output parameters: HL points to the last value on the calculator stack. Called from: 25F8 S RND Exit from: 2CB3 BIN END 2D28 STACK A 34B3 usr-no (indirect) 34D3 USR RANGE (twice, from 34E4 USR STACK) 3674 len Rems: 2AB1 STK ST 0 uses 2AB6 STK STORE 34B3 usr-no used to reset IY pointer STACK FUNCTION ARGUMENT SUBROUTINE see 2951 STK F ARG STACK LITERALS SUBROUTINE see 33C6 stk-data STACK NUM subroutine 33B4 Copies a FP number which has already been constructed at some other location, to be the last value on the calculator stack. Input parameters: HL points to the 1st byte of the prepared FP number. Action: set DE to STKEND to be the destination - call 33C0 MOVE FP to copy the five bytes, leaving DE five bytes incremented - put this address back in STKEND. Exit: RET. Output parameters: HL and DE advance 5 bytes, nothing elsechanged. Called from: 0427 BE OCTAVE 26B6 S SD SKIP 26C9 S LETTER START subroutine 0000 The system reset routine; execution starts here whenever the Spectrum is switched on or the reset button on later models is pressed. It is not otherwise entered from ROM except by the spoiled 0066 RESET routine.