JECXZ y JCXZ

Iniciado por joseyana2007, 30 Mayo 2008, 01:47 AM

0 Miembros y 1 Visitante están viendo este tema.

joseyana2007

hola, no encuentro un foro de assembler, supongo este ser el mejor.

consulto OPCODES de hutch y me dice que ambas son 1Byte

programo y tengo problemas: JCXZ y JECXZ deberian ser identicas

pues no, JCXZ ocupa 2Bytes

¿error del compilador?

saludos

Shaddy

Cita de: joseyana2007 en 30 Mayo 2008, 01:47 AM
hola, no encuentro un foro de assembler, supongo este ser el mejor.

consulto OPCODES de hutch y me dice que ambas son 1Byte

programo y tengo problemas: JCXZ y JECXZ deberian ser identicas

pues no, JCXZ ocupa 2Bytes

¿error del compilador?

saludos



y bueno, si, jcxz ocupa 2 bytes.

Citar
The JECXZ and JCXZ instructions differs from the other Jcc instructions because they do not check the status flags. Instead they check the contents of the ECX and CX registers, respectively, for 0. Either the CX or ECX register is chosen according to the address-size attribute. These instructions are useful at the beginning of a conditional loop that terminates with a conditional loop instruction (such as LOOPNE). They prevent entering the loop when the ECX or CX register is equal to 0, which would cause the loop to execute 2 32 or 64K times, respectively, instead of zero times.

All conditional jumps are converted to code fetches of one or two cache lines, regardless of jump address or cacheability.
Operands    Bytes    Clocks
near8    2    1    PV
near16    3    1    PV

Fuente: http://jsimlo.sk/docs/cpu/index.php/jcxz.html

Será un error de hutch, porque el opcode de JCXZ es "67 E3" y el de JECXZ es "E3".

Salu2..
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com