2
0

Kernel_so_init.txt 753 B

123456789101112131415161718192021222324252627
  1. MODULE Kernel_so_init;
  2. (* THIS IS TEXT COPY OF Kernel_so_init.odc *)
  3. (* DO NOT EDIT *)
  4. IMPORT Kernel, SYSTEM;
  5. PROCEDURE SetKernelBaseStack* (x: INTEGER);
  6. VAR
  7. m: Kernel.Module;
  8. ref, adr: INTEGER; mode, form: SHORTCHAR; desc: Kernel.Type; name: Kernel.Name;
  9. BEGIN
  10. m := Kernel.modList;
  11. WHILE (m # NIL) & ~(m.name = "Kernel") DO
  12. m := m.next
  13. END;
  14. ASSERT(m # NIL, 100);
  15. ref := m.refs; Kernel.GetRefProc(ref, adr, name); ASSERT(adr # 0, 101);
  16. Kernel.GetRefVar(ref, mode, form, desc, adr, name);
  17. WHILE (mode = 1X) & ~(name = "baseStack") DO
  18. Kernel.GetRefVar(ref, mode, form, desc, adr, name)
  19. END;
  20. ASSERT(mode = 1X, 102); ASSERT(form = 6X, 103);
  21. SYSTEM.PUT(m.data + adr, x)
  22. END SetKernelBaseStack;
  23. END Kernel_so_init.