Previous Page Single Page Next Page  

* FIG FORTH FOR SERIES-16 MACHINES PAGE 7

0239 ****************************************************************** 0240 * 0241 * THREADING METHODOLOGY 0242 * 0243 ****************************************************************** 0244 * 0245 * EARLIER DEVELOPMENT VERSIONS (NEVER RELEASED) OF THIS 0246 * IMPLEMENTATION USED A MORE TRADIONAL ORGANIZATION USING IP, 0247 * POINTING AT THE NEXT WORD TO INTERPRET, A 'W' POINTER, AND A 0248 * CODE FIELD (IN THE WORD'S HEADER) POINTING AT THE CODE TO 0249 * IMPLEMENT THE PRIMITIVE. HOWEVER, ON AN ACCUMULATOR MACHINE 0250 * WITH NO GENERAL PURPOSE REGISTERS THIS PROVED VERY CUMBERSOME 0251 * WITH 'NEXT' REQUIRING ABOUT EIGHT INSTRUCTIONS. 0252 * 0253 * IN ORDER TO BETTER TAKE ADVANTAGE OF THE FACILITIES OFFERED BY 0254 * THE SERIES-16 MACHINES SOME CHANGES WERE MADE. 0255 * 0256 * FIRSTLY, THE INTERPRETER POINTER, IP, IS MAINTAINED WITH THE 0257 * INDIRECT BIT SET. FURTHERMORE, SINCE THERE IS NO POST-INCREMENT 0258 * ADDRESSING MODE, IP IS MODIFIED TO POINTER TO THE WORD CURRENTLY 0259 * BEING INTERPRETED, SO THAT IT SHOULD BE INCREMENTED BEFORE 0260 * IT IS USED. THIS OFFSET-BY-ONE IS TAKEN ACCOUNT OF SO THAT WHEN 0261 * A RETURN ADDRESS IS PUSHED ONTO THE STACK, FOR EXAMPLE, IT IS 0262 * FIRST INCREMENTED (AND THE INDIRECT BIT ZEROED) SO THAT THE 0263 * VALUE WILL BE THE SAME AS IN OTHER FIG-FORTHS. 0264 * 0265 * 'NEXT' THERFORE BECOMES THE SEQUENCE: 0266 * 0267 * IRS IP 0268 * JMP* IP 0269 * 0270 * AND A TWO-WORD 'NEXT' IS POSSIBLE, WHICH IS REMARKABLE FOR SUCH 0271 * A SIMPLE MACHINE. 0272 * 0273 * THE NEXT ISSUE IS GETTING A POINTER TO THE PARAMETERS, WHICH 0274 * WOULD NORMALLY BE IN THE 'W' POINTER. THIS IS ADDRESSED BY 0275 * MODIFYING WHAT IS PLACED IN THE CODE FIELD OF THE HEADER. THE 0276 * 'W' POINTER IS ONLY REQUIRED FOR THOSE WORDS WHERE THE ASSEMBLER 0277 * ROUTINE IS RE-USED MANY TIMES, WITH DIFFERING PARAMETERS. FOR 0278 * EXAMPLE 'DOCOLON' ('DOCL' HERE, BECAUSE OF THE 4-CHARACTER LIMIT 0279 * ON LABELS IN THE DAP ASSEMBLER) WHICH EXECUTES A COLON 0280 * DEFINITION THIS REQUIRES 'W', WHICH POINTS TO THE LIST OF WORDS 0281 * TO EXECUTE I.E. THE NEW VALUE TO BE PLACED IN 'IP'. SIMILAR WORDS 0282 * ARE: 0283 * 0284 * DOCN - DEAL WITH A CONSTANT 0285 * DOVR - DEAL WITH A VARIABLE 0286 * DOUS - DEAL WITH A USER VARIABLE 0287 * DODS - IMPLEMENT 'DOES>' 0288 EJCT
  Previous Page Single Page Next Page