home *** CD-ROM | disk | FTP | other *** search
- /*
- * mkabs - make abs loader file "a.lda" from "a.out"
- *
- * Jul 19 1982 modified Hayward : mkabs <inputfile >outputfile
- * can know run on a VAX
- */
-
- #include <stdio.h>
-
- unsigned short header[8];
-
- struct {
- unsigned short start,
- count,
- addr;
- char data[512];
- char check;
- } al = { 1 };
-
- struct {
- unsigned short start,
- count,
- addr;
- char check;
- } go = { 1, 6, 02000, 0 } ;
-
- main()
- {
- register char *cp;
- register short i,n,bc;
-
- read(0,header,sizeof(header));
- if(header[0] != 0407 || !header[7]) {
- fprintf(stderr,"mkabs : bad input\n");
- exit(1);
- }
- al.addr = 0;
- while((bc = read(0,al.data,sizeof(al.data))) > 0) {
- al.count = bc + 6;
- n = al.count;
- cp =(char*) &al; i = 0;
- while(n--)
- i += *cp++;
- *cp = -i;
- write(1,&al,al.count+1);
- al.addr += bc;
- }
- write(1,&go,sizeof(go));
- exit(0);
- }
-