Estoy tratando de portar algún código de ensamblado escrito en Visual Studio en ensamblado en línea de GNU en Linux. El código original utiliza _emit cuales MSDN describe como una instrucción de pseudo y explica como:¿Cuál es el equivalente de _emit en Linux?
la pseudoinstrucción _emit es similar a la directiva DB de MASM. Utiliza _emit para definir un solo byte inmediato en la ubicación actual en el segmento de texto actual. Sin embargo, _emit puede definir solo un byte a la vez, y solo puede definir bytes en el segmento de texto. Utiliza la misma sintaxis que la instrucción INT.
¿Cómo puedo hacer lo mismo en Linux?
+1, buen punto acerca de las optimizaciones. –
¡Gracias! Esto funcionó bien. – samgrover
Con '__volatile__' (o simplemente' volátil' en los compiladores modernos) no deberías tener ningún problema incluso con las optimizaciones habilitadas. El compilador debe emitir el byte en la ubicación indicada (por supuesto, el código que lo rodea podría estar muy optimizado ...). – BeeOnRope