U8 getbyte(void); U8 modrm(void); U8 sib(void); void put_num(U32 value, FILE *fout); void put_hexb(U8 value, FILE *fout); void put_hexw(U16 value, FILE *fout); void put_hexd(U32 value, FILE *fout); int bytes(char c); void ohex(char c, int extend, int optional, int defsize); void reg_name(U8 which, char size); void escape(char c, char t); void expand_out(char *s); void do_sib(int m); void do_modrm(char t); void floating_point(int e1); U32 disassemble(void); void put_inst(char *ptr); void put_str(char *ptr, FILE *fi); void fatal_error(char *string); void main(S16 argc, char *argv[]);