;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)