Assembleur et langage machine

Salut à tous! Je souhaiterais juste savoir en gros comment transformer un programme en langage d'assemblage (dans 1 fichier) en un programme écrit en langage machine (dans un autre fichier) càd en hexadecimal...

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Transformer quoi?
    Le code source?
    Cela dépend des langages et compilateurs, dans le cas de langages compilés bien sûr.
    A titre d'exemple en C

    jd@horus c]$ cat cls.c
    #include <stdio.h>
    int main(void)
    {
    printf("%c[2J", 0x1B);
    return 0;
    }
    [jd@horus c]$ gcc -S cls.c ; cat cls.s
    .file "cls.c"
    .version "01.01"
    gcc2_compiled.:
    .section .rodata
    .LC0:
    .string "%c[2J"
    .text
    .align 16
    .globl main
    .type main,@function
    main:
    pushl %ebp
    movl %esp, %ebp
    subl $8, %esp
    subl $8, %esp
    pushl $27
    pushl $.LC0
    call printf
    addl $16, %esp
    movl $0, %eax
    movl %ebp, %esp
    popl %ebp
    ret
    .Lfe1:
    .size main,.Lfe1-main
    .ident "GCC: (GNU) 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)"

    L'exécutable ou la bibliothèque?
    Tu utilises un désassembleur ou un debugueur.

    Johan Daine

    The software said "Requires Windows98, Win2000, or better,
    So I installed Unix.
    1. Merci d'avoir répondu!

      En fait je dois créer une "machine à pile" qui récupère un fichier ds lequel est écrit un prog en assembleur et génère un fichier texte où est stocké le programme en langage machine. Je dois utiliser le C.

      le code:

      pop x
      popI
      push# i
      push X
      pushI
      dup
      op i
      call adt
      ret
      jmp adr
      jpc adr
      read x
      write x
      halt

      c tout ce qu'on m'a donné, je débute à peine...
      1. Salut cool il se trouve que j'ai exactement le même exercice que toi à faire ( asm-langage machine en C ).Si tu pouvais donc me l'envoyer à mon adresse mail !!!! gussdedauf@laposte.net Merci beaucoup d'avance même s'il y a une chance sur 3000000 pour que tu vois un jour ce message
    2. pr le fichier texte en C c plus la peine... mais pour l'assembleur HEEEEEEEEEEEEEELP!!!!
      1. Modérateur
        C'est pour transformer un source en assembleur en langage machine, c'est ça ?
        Un truc du genre .ASM --> .EXE / .COM ?

        Alors il te faut un assembleur:
        NASM, A86, TASM (Borland), MASM (Microsoft)...
        1. Bonjour,
          à vous!
          Moi je vous conseil Fasm un nouveau assembleur...

          Dans Fasm, il y a un petite programme qui fais ça pour toi...

          De transformer L' assembleur en Language C et le contraire ; Le C en assembleur...
          1. salut ca va j espere bien avoir le Fasm j ai chercher mais j rien trouver mon adress c anas-bobdir@hotmail.com et je bien me contacter si tu le possede