NORMAL MODE IS INTEGER R WE HAVE TO DEFINE OUR OWN STACK FIRST DIMENSION STACK(1000) SET LIST TO STACK R SUDAN FUNCTION INTERNAL FUNCTION(N,X,Y) ENTRY TO SUDAN. R BASE CASES WHENEVER N.E.0, FUNCTION RETURN X+Y WHENEVER Y.E.0, FUNCTION RETURN X R RECURSIVE CASE - WITH MANUAL STACK MANIPULATION R NOTE WE DON'T NEED X AFTER THE FIRST CALL SAVE RETURN SAVE DATA N,Y K = SUDAN.(N,X,Y-1) RESTORE DATA N,Y RESTORE RETURN SAVE RETURN K = SUDAN.(N-1, K, K+Y) RESTORE RETURN FUNCTION RETURN K END OF FUNCTION INTERNAL FUNCTION(N,X,Y) ENTRY TO SHOW. VECTOR VALUES FMT = $7HSUDAN.(,I1,1H,,I1,1H,,I1,4H) = ,I8*$ PRINT FORMAT FMT,N,X,Y,SUDAN.(N,X,Y) END OF FUNCTION SHOW.(1,3,3) SHOW.(2,1,1) SHOW.(2,2,1) SHOW.(3,1,1) END OF PROGRAM