#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];
struct _imp_dv A_dv = {A, sizeof(unsigned char) /*, dims, <bounds> */};
// 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:;
}