Originariamente inviato da Nov@lis
Ciao a tutti,

ho bisogno della vostra consulenza per risolvere un piccolo problemino.

Ho un programma in assembly, scritto da me. Quindi ho i file .asm, .obj e .exe

Dovrei scrivere una procedura C che "genera" (diciamo stampa), in formato esadecimale, il codice binario del primo programma.

Ho fatto una prova aprendo il .exe con fopen (modalità rb), e a stampare a video il contenuto del file, ma i primi risultati non mi son sembrati troppo incoraggianti.

Qualcuno saprebbe dirmi come procedere?

Thanks
Non devi stampare a video direttamente i caratteri del file (altrimenti rischi di stampare schifezze). Devi stampare il valore esadecimale. Con la printf usa lo specificatore di formato %02X e nota che devi fare la AND con 0xFF del valore. Il char è con segno, quindi se il byte fosse per esempio 0x8A, stamperesti FFFFFF8A!!