qdosmsq:vectors:inipr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

qdosmsq:vectors:inipr [2009/02/09 17:37]
george.gwilt DC.W
qdosmsq:vectors:inipr [2009/02/10 10:05] (current)
george.gwilt
Line 14: Line 14:
 ===== Notes ===== ===== Notes =====
   * All registers not shown above are not used on entry and are preserved on exit.   * All registers not shown above are not used on entry and are preserved on exit.
-  * The Definition List has the form shown below. +  * The Definition List has the form shown below at //defs//
-  * The number of procedures and the number of functions must be calculated as(the number of items + the total number of bytes in the names + 7)/8 with a minimum of the number of items. The reason for this is that this number is used to add space to both the name list and the name table. Whereas the name table entries are all exactly 8 bytes the additional length needed for the name list is the number of items (the number of bytes containing the length of the following name) plus the total number of bytes in all the additional names.+  * The number of procedures and the number of functions must be calculated as (the number of items + the total number of bytes in the names + 7)/8 with a minimum of the number of items. The reason for this is that this number is used to add space to both the name list and the name table. Whereas the name table entries are all exactly 8 bytes the additional length needed for the name list is the number of items (the number of bytes containing the length of the following name) plus the total number of bytes in all the additional names.
 ==== Definition List ==== ==== Definition List ====
  
  
 <​code>​ <​code>​
-       dc.w        procnum ​     ; Number of procedures (roughly)+defs   dc.w        procnum ​     ; Number of procedures (roughly)
 ; Then for each procedure ; Then for each procedure
        ​dc.w ​       proutine-* ​  ; Relative pointer to routine  ​        ​dc.w ​       proutine-* ​  ; Relative pointer to routine  ​
Line 43: Line 43:
  
 <​code>​ <​code>​
 +       ​lea ​        ​defs ​         ; Definition List 
 +       ​movea.w ​    ​BP_INIT,​a1 
 +       ​jmp ​        ​(a1) ​         ; Add new keywords and return to BASIC
 </​code>​ </​code>​
  
  
  • qdosmsq/vectors/inipr.txt
  • Last modified: 2009/02/10 10:05
  • by george.gwilt