Question

Est-il possible d'écrire un programme en utilisant opcodes pur intel x86 au lieu des mnémoniques et des instructions de montage, puis le compiler avec ML et LINK. Par exemple, si je tente d'écrire et un 55 au lieu de pousser ebp ML pense qu'il est un entier. Est-il besoin d'un compilateur spécial ou comment voulez-vous écrire un programme d'opcode et le compiler.

Était-ce utile?

La solution

Vous pouvez utiliser db:

db CDh,19h

appels d'interruption 0x19.

Autres conseils

Le travail de Assembleur est de traduire la mnemonix aux valeurs binaires. x86 est une instruction CISC mis avec une longue histoire, cette traduction est assez difficile de le faire manuellement.

Le processus de liaison est encore pire, il crée l'exécutable final, ce qui implique la création de beaucoup de structures. Cela est beaucoup plus difficile à faire et mentain manuellement.

Si vous voulez vraiment écrire quelque chose en utilisant opcodes, prendre un éditeur hexadécimal (ou même un bloc-notes, si vous connaissez tous les codes ASCII :)) et écrire un programme .COM. Rien de plus compliqué (.exe) serait exagéré.

La réponse courte est qu'il est possible d'écrire un programme en utilisant seulement opcodes. Comme smilingthax démontre, vous avez encore besoin d'un assembleur ou un autre outil pour sortir les valeurs binaires de chaque opcode.

Vous allez avoir besoin de se référer à la documentation Intel afin de trouver les opcodes pour chaque memmonic de montage. Ces informations sont contenues dans le Intel (R) Software Architecture Manuel de développeur, Volume 2: Instruction Set Manuel de référence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top