A Intel e os manuais
Viva meus amigos. Eu já tinha ouvido falar das muitas incorrecções dos manuais publicados pela Intel, particularmente em relação à contagem de ciclos das instruções (contagem de ciclos não faz sentido hoje em dia, claro que me refiro à latência/throughput), mas sempre imaginei que fosse apenas má língua. Aparentemente não.
O manual que descreve todas as instruções da ISA x86/x86_64, acessível aqui, contém as instruções CBW/CWDE/CDQE, representadas pelo byte 0x98 (mais prefixos). Estas instruções servem para estender o sinal de um registo de 8/16/32 bits para 16/32/64 bits.
No entanto, a Intel parece ignorar o opcode CWD/CDQ, representado pelo byte 0x99. Este efectua a mesma extensão de sinal, mas fá-lo de AX para DX ou de EAX para EDX. É comummente utilizado por compiladores ao preparar uma divisão com sinal (sem sinal é mais vantajoso simplesmente usar XOR (E)DX, (E)DX).
Alguém me explica esta ausência?
pois :) eh comum os manuais da intel estarem errados ou terem omissoes horrendas :D
ha pior...ves a errata e ate te passas ;)
tesão!