Previous Page Single Page Next Page  

* FIG FORTH FOR SERIES-16 MACHINES PAGE 14

0541 ****************************************************************** 0542 * 0543 * INNER INTERPRETER - CODE ENDINGS 0544 * 0545 ****************************************************************** 0546 * 0547 * POP AND POP2 DISCARD 1 AND 2 (RESPECTIVELY) OPERANDS FROM THE 0548 * STACK AND GO TO NEXT 0549 * 0550 00112 0 12 00000 POP2 IRS 0 0551 00113 0 12 00000 POP IRS 0 0552 * 0553 * NEXT 0554 00114 0 12 00100 IRS IP 0555 00115 -0 01 00100 JMP* IP 0556 * 0557 * PUSH PUSHES THE VALUE IN A REG. ONTO THE STACK AND GOES TO 0558 * NEXT, WHILE 'NEXT' IS AVAILABLE WHERE IT IS JUST USEFUL TO 0559 * JUMP TO A LOCATION THAT GOES TO NEXT (E.G. UNDER A SKIP 0560 * OR CAS INSTRUCTION). 0561 * 0562 00116 1 04 00000 PUSH STA 0,1 X POINTS TO NEXT FREE LOCATION 0563 00117 0 02 00000 LDA 0 NOW DECREMENT X 0564 00120 0 07 00736 SUB =1 0565 00121 0 04 00000 STA 0 0566 * FALL THROUGH 0567 000122 NEXT EQU * 0568 * 0569 * NEXT 0570 00122 0 12 00100 IRS IP 0571 00123 -0 01 00100 JMP* IP 0572 * 0573 * BINA DISCARDS ONE VALUE FROM THE STACK AND REPLACES THE 0574 * VALUE NOW AT TOP-OF-STACK WITH THE VALUE IN A REG. 0575 * IT THUS DOES WHAT IS COMMONLY REQUIRED FOR BINARY 0576 * OPERATORS 0577 * 0578 * PUT JUST REPLACES TOS WITH A REG. STACK POINTER UNCHANGED 0579 * 0580 00124 0 12 00000 BINA IRS 0 0581 00125 1 04 00001 PUT STA 1,1 0582 * 0583 * NEXT 0584 00126 0 12 00100 IRS IP 0585 00127 -0 01 00100 JMP* IP 0586 EJCT
  Previous Page Single Page Next Page