;Alto->8086 small-c compiler rev 2.0
C←CODE SEGMENT

$INCLUDE(8086LIB.D)

$INCLUDE(osinit.DEC)

ASSUME CS:C←CODE, DS:C←DATA

; #include	<Env.h>

; extern IntInit();

; extern InitAnalog();

; extern Init8274();

; extern InitEncrypt();

; extern InitCtxPkg();

; extern InitFA();

; static struct ZN *sysZone;

; struct Queue ctxQ;	/* main system context queue */

; static int largest		/* Alloc variables */

; static int ototAv;

; int getsv;		/* signaller */

; int sigid;

; int signame;

; int origLargest		/* original Alloc variables */

; int origTotAv;

; InitOS()
←InitOS:
PUSH BP
MOV BP,SP

;   {

;   int *p;
PUSH DX

;   p = (int *) 0x03fe;
MOV WORD PTR [BP-2],03FEX

;   *p = (int) &sysZone;

;	BX ← ←p
POP BX
PUSH BX
LEA CX,←sysZone
MOV [BX],CX

;   IntInit();
CALL ←IntInit

;   InitIO();
CALL ←InitIO

;   InitAnalog();
CALL ←InitAnalog

;   Init8274();
CALL ←Init8274

;   InitCtxPkg();
CALL ←InitCtxPkg

;   InitEncrypt();
CALL ←InitEncrypt

;   InitQueue(&ctxQ);
LEA BX,←ctxQ
CALL ←InitQueue

;   InitFA();
CALL ←InitFA

;   SLCInit(EtherHost());
CALL ←EtherHost
CALL ←SLCInit

;   IntOn();
CALL ←IntOn

;   };
MOV SP,BP
POP BP
RET;

; Externals Declared Here
PUBLIC ←ctxQ
PUBLIC ←getsv
PUBLIC ←sigid
PUBLIC ←signame
PUBLIC ←origLargest
PUBLIC ←origTotAv
PUBLIC ←InitOS

C←CODE ENDS

; Number of Bytes of Code = 038X, (56)