Διόλου απίθανο να γίνεται αυτό γιατί δεν έχεις AT&T Syntax στην inline assemblyO gcc καταλαβαίνει μάλλον μόνο την AT&T syntax του GAS (Gnu assembler ) και όχι intel syntax.
o GAS υποστηρίζει πολλές αρχιτεκτονικές αλλά ο NASM έχει intel syntax και είναι για intel... (και ποιο γρήγορος)
Για τον NASM , λογικά θα χρειαστείς τον NDISASM disassembler (πρέπει ήδη να τον έχεις)
Φοβάμαι ότι άμα θέλεις ddd μάλλον θα πρέπει να γράφεις με AT&T syntax (GAS) και όχι intel (NASM)
Δες εδώ τα compile flags για τον gcchttp://www.linux.org/docs/ldp/howto/Ass ... index.htmlΣυγκεκριμένα το
3.1.3. Invoking GCC to build proper inline assembly codeΠάντως εδώ έχει ένα guide για NASM και gcc και gdb (command line ) για intel x86 http://www.csee.umbc.edu/help/nasm/nasm.shtmlΛέει (ένα από τους τρόπους ) που ότι γίνεται να είναι συμβατο με NASM αφού μπορείς με τον gdb να επιλέξεις
- Κώδικας: Επιλογή όλων
set disassembly-flavor intel
Συγκεκριμένα λέει π.χ : για ένα hello.asm σε NASM
- Κώδικας: Επιλογή όλων
nasm -f elf -l hello.lst hello.asm
...
Two files are created by the command hello.o and hello.lst
...
Type the command:
gcc -o hello hello.o
αυτά όμως για ένα ξεχωριστό πρόγραμμα σε NASM
για inline δεν ξέρω αν γίνεται compile με intel syntax (NASM) αλλα αφου ο gdb επιτρέπει disassembly
με intel syntax μπορεί και να γίνεται δεν ξέρω.
Έτσι ίσως μπορείς να το συνδέσεις κάπως με τον ddd και να κάνεις debugging με gui, αλλά δεν ξέρω να σου πω πώς.
Πάρε κάποια links απο τα bookmarks μου είναι για inline assembly
Δες εδώ μια στα γρήγορα πως γίνεται γενικά
http://www.codeproject.com/KB/cpp/eduji ... e_asm.aspxκαι μελέτησε με την ησυχία σου τα παρακάτω
http://www.ibiblio.org/gferg/ldp/GCC-In ... HOWTO.htmlhttp://asm.sourceforge.net/articles/linasm.htmlhttp://www.ibm.com/developerworks/linux ... /l-ia.htmlέχω διαβάσει μερικές σελίδες από το Programming from the GroundUp
κάποια στιγμή θέλω να το ολοκληρώσω ,μου φαίνεται πολύ καλό ρίξε του μια ματιά
http://savannah.nongnu.org/projects/pgubook/