/* The format of the a.out files produced by the assemblers is machine dependent. This program acts as a gateway between two machines and it's effect is independent of the machine it executes on. The a.out file is assumed to be made on a pdp-11 while the target machine is a Philip Microcomputer Development system */ #include main(argc,argv) char **argv ; { char i_addr[4]; short count; char i_count[2]; if (argc != 3) { fprintf(stderr,"Usage: %s pdp-a.out VU-pmds-a.out\n",argv[0]); exit(-1); } if (freopen(argv[1],"r",stdin)==NULL) { perror(argv[1]); exit(-1); } if (freopen(argv[2],"w",stdout)==NULL) { perror(argv[2]); exit(-1); } while (fread(&i_addr,sizeof i_addr,1,stdin)==1) { putchar(i_addr[1]) ; putchar(i_addr[0]) ; putchar(i_addr[3]) ; putchar(i_addr[2]) ; if (fread(&i_count,sizeof i_count,1,stdin)!=1) exit(fprintf(stderr,"foo\n")); putchar(i_count[1]) ; putchar(i_count[0]) ; count= ((i_count[1]&0377)<<8) | (i_count[0]&0377) ; while (count--) { putchar(getchar()); } } return 0; }