#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %begin

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2    !! %name parameters are not being passed by address...
  //     3    %routine rsym(%integername sy)

  void RSYM(int *SY) {
    //     4    %end

    return;
  } /* end of RSYM */

  // ?SY unused
  //     5    %routine psym(%integer sy)

  void PSYM(int SY) {
    //     6    %end

    return;
  } /* end of PSYM */

  // ?SY unused
  //     7
  //     8    %byteinteger sym

  unsigned char SYM;

  //     9    %integer i

  int I;

  //    10
  //    11  ! rsym(sym)  {%name param given a byte - illegal}
  //    12    rsym(i)    {%name param given an int}

  RSYM(/*?*/ &I);

  //    13    psym(sym)  {byte param - widened}

  PSYM(SYM);

  //    14    psym(i)    {int param}

  PSYM(I);

  //    15  %endofprogram

  _imp_stop(0);
  return 0;
end_0:;
}