Comment puis-je convertir Intel 80386 Code Machine Langage d'Assemblage?

Que j'ai été donné la tâche suivante:

Considérer la séquence suivante de valeurs hexadécimales:

55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA 48 79 F9 31 C0 C9 C3

Cette séquence d'octets représente une sous-routine dans 80386 d'Intel langage machine en mode 32 bits.

  • Lorsque les instructions de ce sous-programme sont exécutés, ils laissent les valeurs dans le registre %ecx et %edx. Quelles sont les valeurs?
  • Qu'est-ce que le programme en C qui effectue le calcul fait par ce sous-programme, puis imprime les valeurs calculées par ce programme, %ecx et %edx comme ils apparaissent à la fin de l'exécution de la sous-routine.

Que je n'ai pas le 80386 jeu d'instructions mémorisées, je dois d'abord convertir ces opcode octets dans leur langue de l'assembly mnémonique équivalents. Alors, est-il une référence en ligne quelque part, d'une table de mappage des valeurs hexadécimales pour les instructions ou autres? J'ai vérifié Intel site web, mais n'a rien pu trouver. Ou est-il une meilleure façon de déchiffrer ce que...?

C'est la moitié décent, à mon humble avis: coder32 édition de X86 Opcode et de l'Instruction de Référence

OriginalL'auteur Ray | 2010-01-31