#include <perms.h>

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

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

  //     2    %byteintegerarray a(0:255)

  unsigned char A[256];

  //     3    %byteintegername bp

  unsigned char *BP;

  //     4    %integer num

  int NUM;

  //     5    num = 6

  NUM = 6;

  //     6
  //     7    bp == a(128)

  BP = (unsigned char *)/*?*/ &A[128];

  //     8
  //     9    bp == bp ++ 1

  BP = (unsigned char *)BP + 1;

  //    10
  //    11    bp == bp -- 1

  BP = (unsigned char *)BP - 1;

  //    12
  //    13    bp == bp ++ num

  BP = (unsigned char *)BP + NUM;

  //    14
  //    15    bp == bp -- num

  BP = (unsigned char *)BP - NUM;

  //    16
  //    17  %endofprogram

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