Con la advertencia de Matt Schoen de que está preguntando sobre el lenguaje ensamblador en lugar del lenguaje de máquina, sí. Las personas que trabajan en los kernels del sistema operativo, los controladores de dispositivos, los compiladores y algunas aplicaciones sensibles al rendimiento escribirán en ensamblador. Y no debo olvidar las herramientas de reescritura binaria como dyninst y pin, cuyos autores también pasan mucho tiempo en el montaje.
Si está escribiendo malware o trabajando en un procesador (o controlador integrado o microcontrolador) que no tiene un buen ensamblador, podría estar pensando en codificar en bits reales: “Puedo ocultar mi programa en estos dieciocho bytes, ahora qué instrucciones particulares debo elegir para lograr eso? “.
Una situación más en la que puede ver el lenguaje de máquina real: firmware. El conjunto de instrucciones x86 es clásicamente CISC, pero el hardware subyacente divide algunas de las instrucciones más complejas en rutinas usando la arquitectura RISC subyacente. Dudo que encuentre un ensamblador a ese nivel, por lo que la gente que está escribiendo firmware probablemente esté seleccionando las instrucciones a mano.
- ¿Cuál es el evento más escalofriante que se haya producido en la historia de la humanidad?
- ¿La raza humana ha saltado al tiburón?
- ¿Un ser humano que se encuentre a unos 33 pies por encima de cierto punto de la tierra, recorrerá la circunferencia de la tierra en 24 horas?
- ¿Cuándo ocurre una mutación humana?
- ¿Es correcto condenar a muerte a un criminal?