首页
社区
课程
招聘
CDQ是什么指令?
Editor 2021-4-12 2170

CDQ是什么指令?

收藏
1条回答
kanxue 2021-4-12

CDQ是符号扩展指令
D是dword(4字节),Q是qword(8字节)
CDQ把EAX寄存器中的数视为有符号的数,将其符号位(即EAX的最高位)扩展到EDX寄存器,即若EAX的最高位是1,则执行后EDX的每个位都是1,结果EDX = FFFFFFFF;若EAX的最高位是0,则执行后EDX的每个位都是0,结果EDX = 00000000。这样就把EAX中的32位带符号的数变成了EDX:EAX中的64位带符号的数,以满足64位运算指令的需要,但转换后的值没变。( blowfish 回答)

回复
Funhity: test
回复 2021-4-12