Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk mendapatkan kod arahan yang berkaitan daripada bait arahan?

Bagaimana untuk mendapatkan kod arahan yang berkaitan daripada bait arahan?

王林
王林ke hadapan
2024-02-05 22:27:03521semak imbas

Bagaimana untuk mendapatkan kod arahan yang berkaitan daripada bait arahan?

Kandungan soalan

Apabila saya menjalankan program Go yang mengandungi beberapa kod pemasangan Go, saya mendapat mesej ralat berikut:

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

Bagaimana untuk mendapatkan kod arahan yang berkaitan daripada bait arahan? Saya mencuba kaedah https://github.com/golang/arch Decode tetapi saya hanya mendapat opcode 0.

Mulakan dari bait pertama 0xc4, yang sepatutnya menjadi awalan VEX.

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

Sistem pengendalian: Linux


Jawapan betul


Ini ialah ANDN, yang merupakan sebahagian daripada set arahan BMI1. Pada Intel, Haswell dan lebih baharu menyokong BMI1, tetapi cip anda ialah Sandy Bridge, iaitu satu generasi (atau dua, bergantung pada cara anda mengira) terlalu lama.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan kod arahan yang berkaitan daripada bait arahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam