1
在一個函數的開始有這樣的結構:大會啓動功能的x86-64
0x7ffff7e47a10: test $0xf,%spl
0x7ffff7e47a14: je 0x7ffff7e47a1b
0x7ffff7e47a1a: int3
什麼是標誌0xf
的spl
如果它不這樣做中斷的目的是什麼? 就像「堆棧一切正常」?
在一個函數的開始有這樣的結構:大會啓動功能的x86-64
0x7ffff7e47a10: test $0xf,%spl
0x7ffff7e47a14: je 0x7ffff7e47a1b
0x7ffff7e47a1a: int3
什麼是標誌0xf
的spl
如果它不這樣做中斷的目的是什麼? 就像「堆棧一切正常」?
這將檢查堆棧是否對齊到16個字節,如果不是,則中止程序。如果棧被對齊到16個字節,則%rsp
和擴展%spl
的最少四位是清楚的。這是test $0xf,%spl
測試。
@Toby請不要「糾正」不是錯誤的錯誤。請在將它編輯爲不太正確的「if」之前查找單詞「iff」。 – fuz
對不起,我想如果它是一個代碼構造,它將被格式化(它不是英文AFAIK?)。也許你可以在答案中澄清更多,因爲「iff」谷歌搜索有很多不同的結果。我接受你的觀點,但是不熟悉「iff」的人也會認爲它是一個錯字,所以不會理解它的價值 – Toby
@Toby [iff](http://en.wiktionary.org/wiki/iff)是一個非常好的英文單詞。 – fuz