MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / main

Function main

arch/powerpc/test_asm.cpp:36–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34#define TEST_ADDR 0xCAFEBAB0
35
36int main(int ac, char **av)
37{
38 int rc = -1;
39 uint32_t insWord = 0x800000A;
40 uint8_t encoding[4];
41
42 /* statistics crap */
43 string srcWorstTime, srcWorstFails;
44 clock_t t0, t1;
45 double tdelta, tavg=0, tsum=0, tworst=0;
46 int tcount = 0;
47 uint32_t insWordWorstTime, insWordWorstFails;
48 int failsWorst = 0;
49
50 srand(time(NULL));
51
52 /* decide mode */
53 #define MODE_FILE 0
54 #define MODE_RANDOM 1
55 #define MODE_SINGLE 2
56 int mode;
57 if(ac > 1) {
58 struct stat st;
59 stat(av[1], &st);
60 if(S_ISREG(st.st_mode)) {
61 printf("FILE MODE!\n");
62 mode = MODE_FILE;
63 }
64 else if(!strcmp(av[1], "random")) {
65 printf("RANDOM MODE!\n");
66 mode = MODE_RANDOM;
67 }
68 else {
69 printf("SINGLE MODE!\n");
70 mode = MODE_SINGLE;
71 }
72 }
73 else {
74 printf("need args!\n");
75 return -1;
76 }
77
78 if(mode == MODE_FILE) {
79 char *line;
80 string src, err;
81 size_t len;
82
83 /* read file */
84 FILE *fp = fopen(av[1], "r");
85 if(!fp) {
86 printf("ERROR: fopen(%s)\n", av[1]);
87 return -1;
88 }
89 while(getline(&line, &len, fp) != -1)
90 src += line;
91 fclose(fp);
92
93 /* assemble */

Callers

nothing calls this directly

Calls 6

assemble_multilineFunction · 0.85
assemble_singleFunction · 0.85
disasm_capstoneFunction · 0.85
c_strMethod · 0.80
statClass · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected