Previous Page Single Page Next Page  

* FIG FORTH FOR SERIES-16 MACHINES PAGE 21

0812 01057 000011 DXA BECAUSE START-BUTTON INTERRUPT COME HERE 0813 * AND MAY HAVE FORCED EXTENDED MODE 0814 ELSE 0815 EXA IN CASE MANUALLY STARTED HERE 0816 ENDC 0817 01060 0 02 00731 LDA =-5 ON WARM START, MOVE 5 WORDS 0818 01061 0 04 00104 WNT1 STA T1 0819 01062 0 02 01023 LDA XXS0 START WITH INITIAL STACK POINTER 0820 01063 0 04 00105 STA T2 0821 01064 0 02 00730 LDA =3 TO AREA 3 WORDS BEYOND 0822 01065 0 06 01006 ADD OUP USER POINTER 0823 01066 0 04 00106 STA T3 0824 01067 -0 02 00105 WNT2 LDA* T2 0825 01070 -0 04 00106 STA* T3 COPY WORDS 0826 01071 0 12 00105 IRS T2 STEP POINTERS 0827 01072 0 12 00106 IRS T3 0828 01073 0 12 00104 IRS T1 STEP COUNTER 0829 01074 0 01 01067 JMP WNT2 0830 * 0831 * SET UP VECTOR SO THAT START-BUTTON INTERRUPT 0832 * GOES TO WARM ENTRY 0833 01075 0 02 01102 LDA XWNT 0834 01076 0 04 00063 STA '63 0835 01077 000401 ENB ENABLE INTERRUPTS 0836 * 0837 * NOW SET FORTH'S INSTRUCTION COUNTER, AND GO 0838 01100 0 02 01103 LDA XGO 0839 01101 0 01 00136 JMP NXT1 0840 * 0841 01102 0 001057 XWNT DAC WENT TO INITIALISE INTERRUPT VECTOR 0842 * 0843 * NOTE - NORMALLY THE ABOVE INSTRUCTION WOULD JUMP STRAIGHT 0844 * TO THE ABORT ROUTINE. IT HAS BEEN CHANGED HERE TO ALLOW USER 0845 * TO PATCH A DIFFERENT START-UP. BUT THE SYSTEM WON'T WORK 0846 * UNTIL SOME OF THE WORK OF 'ABORT' HAS BEEN DONE, SO THAT WORK 0847 * IS REPEATED. THE USER CAN PATCH OVER THE 'ABORT' AND THE 0848 * ZEROS. 0849 * 0850 01103 -0 001104 XGO DAC* GO 0851 01104 0 001345 GO DAC RPST INITIALIZE RETURN STACK POINTER 0852 01105 0 001332 DAC SPST INITIALIZE DATA STACK POINTER 0853 01106 0 002651 DAC DEC SELECT DECIMAL 0854 01107 0 005652 DAC FRTH FORTH 0855 01110 0 004272 DAC DFNS DEFINITIONS 0856 01111 0 004347 DAC ABRT ABORT 0857 01112 0 000000 DAC 0 0858 01113 0 000000 DAC 0 0859 01114 0 000000 DAC 0 0860 001115 NXTX EQU * 0861 EJCT
  Previous Page Single Page Next Page