]> andersk Git - udis86.git/blame - tests/gen.c
Initial commit
[udis86.git] / tests / gen.c
CommitLineData
bbe45369 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 */
26int 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.046418 seconds and 5 git commands to generate.