Article View: fj.lang.c
Article #4546Re: a.out to motorola `S' format
From: MIYAKAWA Shin
Date: Thu, 11 Jun 1992 06:45
Date: Thu, 11 Jun 1992 06:45
106 lines
3511 bytes
3511 bytes
wanted$@$NJ}$O$H$j$5$2$^$7$?!#(J
In article <MASUDA.92Jun11113442@lachesis.rokugo.CO.JP>
masuda@rokugo.CO.JP (Yoshihiro Masuda) writes:
> $@<B$O!"(Jgcc $@$G!"%3%s%Q%$%k$7$?(J a.out $@$r!"%b%H(J$@%m!<%i$N(J S format $@$K(J
> $@D>$7$?$$$N$G$9$,!"$=$NMM$J%D!<%k$r(J{$@;}$C$F$$$k(J|$@CN$C$F$$$k(J}$@J}8+$((J
> $@$^$;$s$G$7$g(J$@$&$+(J?
$@4J0W%D!<%k$J$i$9$0$G$9$N$G(J....$@$H$$$&$o$1$G!#(J
$@$I$s$J5!<o$G$b(Ja.out.h$@$r$h$a$P$9$0$D$/$l$^$9$h!#(J
(MACH$@%Y!<%9$@$H$A$,$&$1$I(J)
------ $@$3$3$+$i(J ------
/*
$Id: bin2sr.c,v 1.1 90/08/07 18:11:19 miyakawa Exp Locker: miyakawa $
convert a.out file to S-record
*/
#include <stdio.h>
#include <a.out.h>
#define TRUE 1
#define FALSE 0
FILE *fp;
char fname[255];
struct exec e;
main( argc, argv )
int argc;
char *argv[];
{
if( argc < 2 )
strcpy(fname,"a.out");
else
strcpy(fname,argv[1]);
if( ( fp = fopen(fname, "r" ) ) == NULL ) {
fprintf( stderr, "%s: cannot open\n", fname );
exit( 1 );
}
fread(&e, sizeof(e), 1, fp);
if ((e.a_magic != ZMAGIC) && (e.a_magic != OMAGIC)) {
fprintf( stderr, "%s: is not a.out format\n", fname );
exit( 1 );
}
makesr();
}
usage()
{
fprintf( stderr, "Usage: %s [filename]\n" );
exit(1);
}
makesr()
{
int i, c, csum;
long add;
add = e.a_entry;
while( TRUE ) {
printf( "S224%06lX", add );
csum = (( add >> 16 ) & 0xff ) + (( add >> 8 ) & 0xff )
+ ( add & 0xff ) + 0x24;
for( i = 0; i < 32; i++ ) {
if( (c = fgetc(fp)) != EOF ) {
printf( "%02X", c );
csum += ( c & 0xff );
} else {
do {
printf( "00" );
} while( ++i < 32 );
csum = 0xff - ( csum & 0xff );
printf( "%02X\n", csum );
goto end;
}
}
csum = 0xff - ( csum & 0xff );
printf( "%02X\n", csum );
add += 0x20;
}
end:
printf( "S9030000FC\n" );
fclose( fp );
}
---- $@0J>e(J ----
> $@2?$r$d$j$?$$$N$+$H8@$&$H!"@)8fMQ$N@lMQ%O!<%I$rAH$_(J$@9~$s$@%\!<%I%3(J
> $@%s%T%e!<%?$N%=%U%H$r(J gcc $@$r;H$C$F:n$j$?$$$N$G$9!#(J
$@$d$C$F$^$7$?!#$H$$$&$+!"$$$^$G$b$d(J$@$C$F$^$9!#(J
> $@%G%P%C%/CJ3,$G$O(J gdb $@Ey$G%7%_%e%l!<%H$7$J$,$i$d$l$P!"$=$N$^$^$G$b(J
> $@LdBjL5$$$N$G$9$,!":G(J$@=*E*$K$O(J ROM $@2=$7$J$1$l$P$J$j$^$;$s!#(J
$@LdBj$O(JROM$@2=$9$kNN0h$K(Jtext$@%;%0%a%s%H$r$b$C$F$f$-!"(J
bss$@$O(JRAM$@$K%m(J$@%1!<%H$7$J$-$c$$$1$J$$$3$H$G$9$h$M!#(J
$@;dC#$O(J.s$@%U%!%$%k$KE,Ev?t(Jnop$@$r$$$l$k%D!<%k$r;HMQ$7$F(J
$@$3$NLdBj$r2s(J$@Hr$7$^$7$?$,!"$b$C$H%(%l%,%s%H$JJ}K!$,$"$k$N$G$7$g$&$+(J?
$@El5~9)6HBg3X(J $@M}9)3X8&5f2J(J $@>pJs9)3X@l96(J
$@9)3XIt(J $@>pJs9)3X2J(J $@JF:j8&(J $@=jB0(J
$@5\@n(J $@?8(J (Miyakawa Shin)
miyakawa@cs.titech.ac.jp
Technical Details
Message-ID:
<MIYAKAWA.92Jun11154554@viper.cs.titech.ac.jp>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!sh.wide!wnoc-tyo-news!cs.titech!miyakawaReferences:
<MASUDA.92Jun11113442@lachesis.rokugo.CO.JP>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 106434,2e1aa724c9b7f39d X-Google-Attributes: gid106434,public X-Google-ArrivalTime: 1992-06-10 19:28:48 PST Newsgroups: fj.lang.c Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!sh.wide!wnoc-tyo-news!cs.titech!miyakawa From: miyakawa@cs.titech.ac.jp (MIYAKAWA Shin) Subject: Re: a.out to motorola `S' format In-Reply-To: masuda@rokugo.CO.JP's message of 11 Jun 92 02: 34:42 GMT Message-ID: <MIYAKAWA.92Jun11154554@viper.cs.titech.ac.jp> Sender: news@cs.titech.ac.jp (Usenet News System) Organization: Department of Computer Science, Tokyo Institute of Technology References: <MASUDA.92Jun11113442@lachesis.rokugo.CO.JP> Date: Thu, 11 Jun 1992 06:45:54 GMT Lines: 109