]> andersk Git - udis86.git/blob - tests/gen.c
Initial commit
[udis86.git] / tests / gen.c
1 /* -----------------------------------------------------------------------------
2  * gen.c - front end to udis86 testing.
3  *
4  * Copyright (c) 2006,2007 Vivek Mohan <vivek@sig9.com>
5  * All rights reserved.
6  * See (LICENSE)
7  * -----------------------------------------------------------------------------
8  */
9 #include <stdio.h>
10 #include <string.h>
11 #include <udis86.h>
12
13 #if defined(__DJGPP__) || defined(_WIN32)
14 # include <io.h>
15 # include <fcntl.h>
16 #endif 
17
18 #ifdef __DJGPP__
19 #  include <unistd.h>  /* for isatty() */
20 #  define _setmode setmode
21 #  define _fileno fileno
22 #  define _O_BINARY O_BINARY
23 #endif
24
25 /* help string */
26 int main(int argc, char **argv)
27 {
28   ud_t ud_obj;
29
30 #ifdef __DJGPP__
31   if ( !isatty( fileno( stdin ) ) )
32 #endif
33 #if defined(__DJGPP) || defined(_WIN32)
34   _setmode(_fileno(stdin), _O_BINARY);
35 #endif  
36
37   ud_init(&ud_obj);
38   ud_set_input_file(&ud_obj, stdin);
39
40   if (strcmp(argv[1],"-16") == 0)
41           ud_set_mode(&ud_obj, 16);
42   else if (strcmp(argv[1],"-32") == 0)
43           ud_set_mode(&ud_obj, 32);
44   else if (strcmp(argv[1],"-64") == 0)
45           ud_set_mode(&ud_obj, 64);
46
47   ud_set_syntax(&ud_obj, UD_SYN_INTEL);
48
49   while ( ud_disassemble( &ud_obj ) ) {
50         printf( "\t%s\n", ud_insn_asm( &ud_obj ) );
51   }
52
53   return 0;
54 }
This page took 0.052995 seconds and 5 git commands to generate.