だから私はパフォーマンスとアセンブリで遊んで、次のプログラムを持っています。
.intel_syntax noprefix
.global _start
_start:
mov cl, 2
mov ebx, 0b101
shr ebx, cl
and bl, 1
je do_stuff
do_stuff:
mov eax, 1
mov ebx, 0
int 0x80
8つではperf -e instructions:u ./shift
なく9つの指示が表示されますが、理由を見つけることはできません。どの+1コマンドが何であるかを調べる方法はありますか?
プログラム命令の1つに過ぎませんが、並列に実行されると、CPUはそれを追い出しますか?それでは、より低いレベルでどのように機能するのか、どうやって観察しますか?
編む:as -msyntax=intel -mnaked-reg shift.s -o shift.o && ld shift.o -o shift
/proc/sys/kernel/perf_event_paranoid
-1に設定