Esempio n. 1
0
int main(){

	int n = asm_func();

	printf("n = %d\n", n);
	
	// printf("cs = %d\n", get_esp());
	// printf("cs = %d\n", get_ebp());
	// printf("cs = %d\n", get_cs());
	// printf("ds = %d\n", get_ds());
	// printf("ss = %d\n", get_ss());
	
	return 0;
}
Esempio n. 2
0
int main (int argc, char *argv[]) {
  FILE * pFile;
  long lSize;
  char * buffer;
  size_t result;

  if(argc<2){
    printf("Usage: %s <input file>\n", argv[0]);
    return 1;
  }

  pFile = fopen (argv[1], "rb" );
  if (pFile==NULL) {fputs ("File error",stderr); exit (1);}

  fseek (pFile , 0 , SEEK_END);
  lSize = ftell (pFile);
  rewind (pFile);

  assert(lSize < BUF_SIZE/2);
  buffer = (char*) malloc (BUF_SIZE);
  if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

  printf("buf=0x%08x\n", (unsigned int)buffer);
  buffer = (char*)((((unsigned int)buffer+SZ-1)/SZ)*SZ);
  printf("roundup buf=0x%08x\n", (unsigned int)buffer);

  result = fread (buffer,1,lSize,pFile);
  if (result != lSize) {fputs ("Reading error",stderr); exit (3);}

  asm_func(buffer);

  // terminate
  fclose (pFile);
  free (buffer);
  return 0;
}