Articles of ensamblaje

Instrucción INC vs ADD 1: ¿Importa?

Desde la respuesta de Ira Baxter, ¿por qué las instrucciones INC y DEC no afectan la bandera de acarreo (CF)? En su mayoría, me mantengo alejado de INC y DEC ahora, porque hacen actualizaciones de código de condición parcial, y esto puede causar paradas divertidas en la tubería, y ADD / SUB no lo hacen. […]

¿Cómo funcionan exactamente los registros parciales en Haswell / Skylake? Escribir AL parece tener una dependencia falsa en RAX, y AH es inconsistente

Este bucle se ejecuta en una iteración por 3 ciclos en Intel Conroe / Merom, embotellado en el rendimiento de imul como se esperaba. Pero en Haswell / Skylake, se ejecuta en una iteración por 11 ciclos, aparentemente porque setnz al tiene una dependencia en el último imul . ; synthetic micro-benchmark to test partial-register […]

Hacer referencia al contenido de una ubicación de memoria. (modos de direccionamiento x86)

Tengo una ubicación de memoria que contiene un personaje que quiero comparar con otro personaje (y no está en la parte superior de la stack, así que no puedo pop ). ¿Cómo hago referencia al contenido de una ubicación de memoria para poder compararlo? Básicamente, ¿cómo lo hago sintácticamente?

¿Cuáles son las convenciones de llamadas para llamadas al sistema UNIX y Linux en i386 y x86-64?

Los siguientes enlaces explican las convenciones de llamada al sistema x86-32 para UNIX (sabor BSD) y Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html ¿Pero cuáles son las convenciones de llamada al sistema x86-64 en UNIX y Linux?

¿Cuál es el propósito de la instrucción LEA?

Para mí, parece un MOV funky. ¿Cuál es su propósito y cuándo debería usarlo?