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