Special case ~
重新繼續寫 編譯器 又重新學習到一些神奇的例外:
syscall
一開始以為 syscall 執行完之後只會影響 rax,但實際上還會影響很多東西。在 stackoverflow 這邊文章有提到, 因為從 kernel-space 跳回 user-space,為了能夠讓 tracer 追蹤所以會將上一個 stack address 放在 rcx
這樣的問題在於:如果需要在 for-loop 中使用 LOOP-rcx 的組合,就需要確保裡面不會使用到 syscall 指令。