コード例 #1
0
ファイル: pseudo.c プロジェクト: BouKiCHi/husic_git
void doload_spritesstatement(void)
{ /* syntax is
     offset in vram to load data at : integer
     name of the data to transfert : identifier
     number of sprites (of size 32x64) to load : integer
   */
  flush_ins();  /* David, optimize.c related */
  ot("load_sprites\t");

  outconst();
  if (outcomma())		return;
  if (outnameunderline())	return;
  if (!match(","))
    {
     outstr(",#");
     outdec(1);
    }
  else
    {
      outbyte(',');
      outconst();
    }

  newl();
  needbrack(")");

 }
コード例 #2
0
ファイル: pseudo.c プロジェクト: BouKiCHi/husic_git
void doset_sprpalstatement(void)
{ /* syntax is
     number of the first palette to alter : integer
     name of the data for loading palettes : identifier
     [ number of palette to load : integer ]
     if last argument is missing, 1 is assumed
   */

  flush_ins();  /* David, optimize.c related */
  ot("_set_sprpal\t");

  outconst();
  if (outcomma())		return;
  if (outnameunderline())	return;
  if (!match(","))
    {
     outstr(",#");
     outdec(1);
    }
  else
    {
      outbyte(',');
      outconst();
    }

  newl();
  needbrack(")");
}
コード例 #3
0
ファイル: offset.c プロジェクト: dduval/kernel-rhel3
int main(void) 
{ 
	output("/* Auto generated by arch/../tools/offset.c at " __DATE__ ". Do not edit. */\n"); 
	output("#ifndef ASM_OFFSET_H\n");
	output("#define ASM_OFFSET_H 1\n"); 

	// task struct entries needed by entry.S
#define ENTRY(entry) outconst("#define tsk_" #entry " %0", offsetof(struct task_struct, entry))
	ENTRY(state);
	ENTRY(flags); 
	ENTRY(sigpending); 
	ENTRY(addr_limit); 
	ENTRY(need_resched); 
	ENTRY(exec_domain); 
	ENTRY(ptrace); 
	ENTRY(cpu);
	ENTRY(need_resched); 
	ENTRY(thread); 
	ENTRY(pid);
#undef ENTRY
#define ENTRY(entry) outconst("#define pda_" #entry " %0", offsetof(struct x8664_pda, entry))
	ENTRY(kernelstack); 
	ENTRY(oldrsp); 
	ENTRY(pcurrent); 
	ENTRY(irqrsp);
	ENTRY(irqcount);
	ENTRY(pgd_quick);
	ENTRY(pmd_quick);
	ENTRY(pte_quick);
	ENTRY(pgtable_cache_sz);
	ENTRY(cpunumber);
	ENTRY(irqstackptr);
	ENTRY(level4_pgt);
#undef ENTRY
	output("#ifdef __ASSEMBLY__"); 
	outconst("#define PT_TRACESYS %0", PT_TRACESYS);
	outconst("#define PT_AUDITED %0", PT_AUDITED);
	outconst("#define PT_SINGLESTEP %0", PT_SINGLESTEP);
	outconst("#define TASK_SIZE %0", TASK_SIZE); 
	outconst("#define SIGCHLD %0", SIGCHLD);
	outconst("#define CLONE_VFORK %0", CLONE_VFORK); 
	outconst("#define CLONE_VM %0", CLONE_VM); 


	outconst("#define thread_flags %0" , offsetof(struct thread_struct, flags));
	outconst("#define thread_rsp0 %0" , offsetof(struct thread_struct, rsp0));
	outconst("#define ASM_THREAD_IA32 %0", THREAD_IA32);
	outconst("#define PER_CPU_GDT_SIZE %0", sizeof(struct desc_struct));

	output("#endif"); 

	output("#endif\n"); 

	return(0); 
}