See openbsd.org/vax-simh.html on how to play with this.
(The suggested 4.3 worked for me, and 4.4 didn't install.)

- - -

#include <sys/types.h>
#include <sys/mman.h>

char blob[] = {
  0x04,0x00,0xeb,0x28,0x00,0x5e,0x50,
  0xdd,0x0a,0x9f,0xaf,0x16,0xdd,0x01,0xfb,0x03,0xaf,
  0x06,0xdd,0x00,0xfb,0x01,0xaf,0x05,0x00,0x00,0xbc,
  0x04,0x04,0x00,0x00,0xbc,0x01,0x04,
  'h','e','l','l','o',' ','v','a','x','\n',
  0xeb,0x14,0x58,0x6a,0x0b,0x50,0x6a,0x01,0x6a,0x00,
  0x58,0x50,0xb0,0x04,0xcd,0x80,0x58,0x50,0x50,0x40,
  0xcd,0x80,0xe8,0xe7,0xff,0xff,0xff,
  'h','e','l','l','o',' ','i','3','8','6','\n'
};

int main(void) {
  mprotect(blob, sizeof(blob), PROT_READ|PROT_EXEC);
  ((void (*)(void))blob)();
  return 1;
}

Reply via email to