値をスタックにプッシュする(CALL命令だから)。<メモリから8バイトの値を読み出す>。0x00000000c3c0ff48である。%ripに代入する>。*subr"命令の動作。CPUは、0xc3c0ff48番地のメモリに命令があるものとして読み出そうとする・・・が、その番地のメモリは、このプロセスに割当られていない。メモリが割り当てられていないと言えるか。faultが起きたから(笑)。retq"-static"でスタティックリンクしたのだから、ユーザステートで動作する機械語はここまでなんじゃないのかな?他に、スタックや静的データ領域(グローバル又はstaticな変数領域)も割当られているけど、0xc3c0ff48番地は桁が違い、カスりもしないアドレスのようだ・・・。・このプロセスに割り当てられたメモリを指している・OSが、そのメモリ領域を「実行可能領域」に設定してある・そのアドレスから始まるメモリのバイト列が、retで終わる、実行可能な機械語列であるという条件が成り立つなら動作するのだから、絶対に動作しないとは言い切れない。