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
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!