CPU對指令長度的判斷

大囚長發表於2018-04-20

譯碼一般包括:指令預取、指令預分析、解碼。預取就是從cache或者記憶體取一系列的位元組(大小可以保證至少包含一條指令),並設定一個待分析的位置,預分析從此位置逐位元組分析,如果是字首就設定分析狀態(因為字首可能改變預設地址尺寸和運算元的大小,影響後續指令長度),直到不是字首,就認為是操作碼,x86的op code長度一般為1位元組,某些2位元組,查表就可以直接找出指令長度了。

相關文章