for (cip = 0; cip < code_size; cip++) embryo_swap_32(&(code[cip]));
for (cip = 0; cip < (code_size / sizeof(Embryo_Cell)); cip++) embryo_swap_32(&(code[cip]));
_embryo_program_init(Embryo_Program *ep, void *code){   Embryo_Header    *hdr;      if ((ep->flags & EMBRYO_FLAG_RELOC)) return 1;   ep->code = (unsigned char *)code;   hdr = (Embryo_Header *)ep->code;#ifdef WORDS_BIGENDIAN   embryo_swap_32((unsigned int *)&hdr->size);   embryo_swap_16((unsigned short *)&hdr->magic);   embryo_swap_16((unsigned short *)&hdr->flags);   embryo_swap_16((unsigned short *)&hdr->defsize);   embryo_swap_32((unsigned int *)&hdr->cod);   embryo_swap_32((unsigned int *)&hdr->dat);   embryo_swap_32((unsigned int *)&hdr->hea);   embryo_swap_32((unsigned int *)&hdr->stp);   embryo_swap_32((unsigned int *)&hdr->cip);   embryo_swap_32((unsigned int *)&hdr->publics);   embryo_swap_32((unsigned int *)&hdr->natives);   embryo_swap_32((unsigned int *)&hdr->libraries);   embryo_swap_32((unsigned int *)&hdr->pubvars);   embryo_swap_32((unsigned int *)&hdr->tags);   embryo_swap_32((unsigned int *)&hdr->nametable);#endif      if (hdr->magic != EMBRYO_MAGIC) return 0;   if ((hdr->file_version < MIN_FILE_VERSION) ||      (hdr->ep_version > CUR_FILE_VERSION)) return 0;   if ((hdr->defsize != sizeof(Embryo_Func_Stub)) &&       (hdr->defsize != (2 * sizeof(unsigned int)))) return 0;   if (hdr->defsize == (2 * sizeof(unsigned int)))     {	unsigned short *len;		len = (unsigned short*)((unsigned char*)ep->code + hdr->nametable);#ifdef WORDS_BIGENDIAN	embryo_swap_16((unsigned short *)len);#endif		if (*len > sNAMEMAX) return 0;     }   if (hdr->stp <= 0) return 0;   if ((hdr->flags & EMBRYO_FLAG_COMPACT)) return 0;   #ifdef WORDS_BIGENDIAN     {	Embryo_Func_Stub *fs;	int i, num;		/* also align all addresses in the public function, public variable and */	/* public tag tables */	fs = GETENTRY(hdr, publics, 0);	num = NUMENTRIES(hdr, publics, natives);	for (i = 0; i < num; i++)	  {	     embryo_swap_32(&(fs->address));	     fs = (Embryo_Func_Stub *)((unsigned char *)fs + hdr->defsize);	  }		fs = GETENTRY(hdr, pubvars, 0);	num = NUMENTRIES(hdr, pubvars, tags);	for (i = 0; i < num; i++)	  {	     embryo_swap_32(&(fs->address));	     fs = (Embryo_Func_Stub *)((unsigned char *)fs + hdr->defsize);	  }		fs = GETENTRY(hdr, tags, 0);	num = NUMENTRIES(hdr, tags, nametable);	for (i = 0; i < num; i++)	  {	     embryo_swap_32(&(fs->address));	     fs = (Embryo_Func_Stub *)((unsigned char *)fs + hdr->defsize);	  }     }#endif      ep->flags = EMBRYO_FLAG_RELOC;#ifdef WORDS_BIGENDIAN     {	Embryo_Cell cip, code_size;	Embryo_Cell *code;		code_size = hdr->dat - hdr->cod;	code = (Embryo_Cell *)((unsigned char *)ep->code + (int)hdr->cod);	for (cip = 0; cip < code_size; cip++) embryo_swap_32(&(code[cip]));     }#endif     /* init native api for handling floating point - default in embryo */   _embryo_fp_init(ep);   _embryo_rand_init(ep);   _embryo_str_init(ep);   _embryo_time_init(ep);   return 1;}