(參考了網上的文章記錄而來)
cdq的作用無非就是將一個32位有符合數擴展爲64位有符合數(帶符號位的擴展),數據能表示的數不變。
具體是這樣實現的,比如eax=fffffffb(值爲-5),然後cdq把eax的最高位bit,也就是二進制1,全部複製到edx的每一個bit位,edx變成 FFFFFFFF。
這時eax與edx連起來就是一個64位數,FFFFFFFF FFFFFFFB ,它是一個 64 bit 的大型數字,數值依舊是 -5。
(參考了網上的文章記錄而來)
cdq的作用無非就是將一個32位有符合數擴展爲64位有符合數(帶符號位的擴展),數據能表示的數不變。
具體是這樣實現的,比如eax=fffffffb(值爲-5),然後cdq把eax的最高位bit,也就是二進制1,全部複製到edx的每一個bit位,edx變成 FFFFFFFF。
這時eax與edx連起來就是一個64位數,FFFFFFFF FFFFFFFB ,它是一個 64 bit 的大型數字,數值依舊是 -5。