MODULE Kernel_so_init;

	(* THIS IS TEXT COPY OF Kernel_so_init.odc *)
	(* DO NOT EDIT *)

	IMPORT Kernel, SYSTEM;

	PROCEDURE SetKernelBaseStack* (x: INTEGER);
		VAR
			m: Kernel.Module;
			ref, adr: INTEGER; mode, form: SHORTCHAR; desc: Kernel.Type; name: Kernel.Name;
	BEGIN
		m := Kernel.modList;
		WHILE (m # NIL) & ~(m.name = "Kernel") DO
			m := m.next
		END;
		ASSERT(m # NIL, 100);
		ref := m.refs; Kernel.GetRefProc(ref, adr, name); ASSERT(adr # 0, 101);
		Kernel.GetRefVar(ref, mode, form, desc, adr, name);
		WHILE (mode = 1X) & ~(name = "baseStack") DO
			Kernel.GetRefVar(ref, mode, form, desc, adr, name)
		END;
		ASSERT(mode = 1X, 102); ASSERT(form = 6X, 103);
		SYSTEM.PUT(m.data + adr, x)
	END SetKernelBaseStack;

END Kernel_so_init.
