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

$INCLUDE(8086LIB.D)

$INCLUDE(RPCSignals.DEC)

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

; #include <signal.h>

; extern int CODE();

; int AuthenticateFailed;

; int CallFailed;

; int ExportFailed;

; int ImportFailed;

; int RejectUnbound;

; int RejectProtocol;

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

;   {

;   AuthenticateFailed = CODE();
CALL ←CODE
MOV ←AuthenticateFailed,BX

;   CallFailed = CODE();
CALL ←CODE
MOV ←CallFailed,BX

;   ExportFailed = CODE();
CALL ←CODE
MOV ←ExportFailed,BX

;   ImportFailed = CODE();
CALL ←CODE
MOV ←ImportFailed,BX

;   RejectUnbound = CODE();
CALL ←CODE
MOV ←RejectUnbound,BX

;   RejectProtocol = CODE();
CALL ←CODE
MOV ←RejectProtocol,BX

;   };
MOV SP,BP
POP BP
RET;

; int CONT(s, c, sl) int s, c; struct Seal *sl; { return CONTINUE; };
←CONT:
PUSH BP
MOV BP,SP
PUSH CX
PUSH BX
MOV BX,4
MOV SP,BP
POP BP
RET;

; int REJ(s, c, sl) int s, c; struct Seal *sl; { return REJECT; };
←REJ:
PUSH BP
MOV BP,SP
PUSH CX
PUSH BX
MOV BX,1
MOV SP,BP
POP BP
RET;

; int RES(s, c, sl) int s, c; struct Seal *sl; {  return RESUME; };
←RES:
PUSH BP
MOV BP,SP
PUSH CX
PUSH BX
MOV BX,2
MOV SP,BP
POP BP
RET;

; Externals Declared Here
PUBLIC ←AuthenticateFailed
PUBLIC ←CallFailed
PUBLIC ←ExportFailed
PUBLIC ←ImportFailed
PUBLIC ←RejectUnbound
PUBLIC ←RejectProtocol
PUBLIC ←SignalInitialize
PUBLIC ←CONT
PUBLIC ←REJ
PUBLIC ←RES

C←CODE ENDS

; Number of Bytes of Code = 055X, (85)