Maison > développement back-end > Golang > le corps du texte

Comment obtenir le code d'instruction pertinent à partir de l'octet d'instruction ?

王林
Libérer: 2024-02-05 22:27:03
avant
498 Les gens l'ont consulté

Comment obtenir le code dinstruction pertinent à partir de loctet dinstruction ?

Contenu de la question

Lorsque j'exécute un programme Go qui contient du code assembleur Go, j'obtiens le message d'erreur suivant :

SIGILL: illegal instruction
PC=0x508c04 m=0 sigcode=2
instruction bytes: 0xc4 0x42 0x68 0xf2 0xea 0xc5 0xf9 0xef 0xc1 0x41 0x9 0xfd 0x45 0x1 0xee 0xc1
Copier après la connexion

Comment obtenir le code d'instruction pertinent à partir de l'octet d'instruction ? J'ai essayé la méthode https://github.com/golang/arch Decode mais je n'ai obtenu que l'opcode 0.

Commencez par le premier octet 0xc4, qui devrait être le préfixe VEX.

CPU : CPU Intel(R) Xeon(R) E5-2620)

Système d'exploitation : Linux


Bonne réponse


Il s'agit de ANDN, qui fait partie du jeu d'instructions BMI1. Sur Intel, Haswell et les versions plus récentes prennent en charge BMI1, mais votre puce est Sandy Bridge, qui est une génération (ou deux, selon la façon dont vous comptez) trop ancienne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal