2014-05-04 4 views
-1

aujourd'hui J'apprends un peu sur l'assemblage x86 aujourd'hui et j'ai appris beaucoup de choses nouvelles et j'aime beaucoup la langue mais j'ai rencontré quelque chose que j'aimerais savoir si c'est possible.Assembler le code exécutable?

Je voudrais savoir s'il est possible d'assembler le code uniquement, sans avoir la sortie d'un exécutable entier.

Maintenant, évidemment, ce ne serait pas pratique si je devais avoir à utiliser des données comme des chaînes et etc, mais ce que je veux monter seulement le code comme ceci:

mov si, 1 
loop: 
    inc si 
    jnz loop 

(je sais ce cela a des choses manquantes, mais ce n'est pas le point.)

je peux assembler cela et trouver juste le point d'entrée brute du code et copiez comme entrée, mais il semble juste très hackish d'une manière que je ne peut pas descendre ribe avec des mots.

Merci.

BTW, j'utilise FASM.

+1

«Je ne peux pas décrire avec des mots»: bien, vous devriez au moins essayer de décrire un peu plus ce que vous essayez d'atteindre ... Sinon, en savoir plus sur les linkers ... – Macmade

+0

oui c'est possible, voilà comment Les assembleurs travaillent habituellement ces jours-ci. Il suffit de l'assembler en un objet, puis plus tard, vous pouvez le lier avec d'autres objets ou vous pouvez le démonter pour voir quel est le code machine que l'assembleur a généré. –

+1

rien de hackish à ce sujet, c'est l'utilisation normale pour un assembleur. c'est ce qu'ils sont là pour faire. –

Répondre

0

J'ai trouvé la réponse, duo à mon manque de connaissance avec l'ensemble, je me suis dit vous devez avoir le programme complet afin de le faire monter, mais je remarque tout ce que je devais à faire est d'écrire juste en bas des instructions sans quoi que ce soit et il suffit de l'assembler en un fichier .BIN (je pense que c'est court pour binaire).