Mais um blog inútil.

Abril 8, 2009

A Intel e os manuais

Filed under: Coding,Serious Business — dongs @ 23:24

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?

2 comentários a “A Intel e os manuais”

  1. hybriz diz:

    pois :) eh comum os manuais da intel estarem errados ou terem omissoes horrendas :D

    ha pior...ves a errata e ate te passas ;)

Comentar

widgeon
widgeon
widgeon
widgeon