Resultados de la búsqueda a petición "assembly"
¿Qué métodos se pueden usar para extender eficientemente la longitud de la instrucción en x86 moderno?
Imagine que desea alinear una serie de instrucciones de ensamblaje x86 con ciertos límites. Por ejemplo, es posible que desee alinear los bucles con un límite de 16 o 32 bytes, o empaquetar las instrucciones para que se coloquen de manera ...
¿Cómo se cambia el puntero de la pila en este programa con call y ret?
Mis preguntas se refieren a las acciones que parecen suceder entre líneas cuando se cambia el contexto, especialmente en relación conRSP yRBP. Dado este programa muy simple: Reading symbols from ./function_call...done. (gdb) disass main Dump of ...
¿Puedo hacer la instrucción `ret` del código en _start en MacOS? Linux?
Me pregunto si es legal regresar conret desde el punto de entrada de un programa. Ejemplo con NASM: section .text global _start _start: ret ; Linux: nasm -f elf64 foo.asm -o foo.o && ld foo.o ; OS X: nasm -f macho64 foo.asm -o foo.o && ld foo.o ...
NOP largos de varios bytes: macros comúnmente entendidas u otra notación
No es un gran secreto que los procesadores x86 (y x86_64) no solo tienen el byte únicoNOP instrucción, pero también varios tipos de instrucciones de tipo NOP de varios bytes. Hay los que he logrado encontrar: Recomendado por AMD, ref.Guía de ...
Operación MUL en ensamblaje
Tengo las siguientes líneas de montaje: ... MOV ECX, 0x36EE80 MOV EDX, 0x95217CB1 MUL EDX SHR EDX, 0x15 MOV DWORD PTR SS:[EBP-0x3C8], EDX .... ....Entonces, ...
¿Cómo implementar MUL usando todas las otras instrucciones en el ensamblaje?
Supongamos que he implementado todas las instrucciones ADD, AND, SHF, JUMP, BR, LDW, LDB (cargar palabra cargar byte ...) ....... excepto MUL (múltiples) en una máquina de ensamblaje. Ahora quiero escribir el código de ensamblaje para operar una ...
¿Cómo utilizar la función de biblioteca c fgets en lenguaje ensamblador?
Como se describe en el título, ¿cómo usar fgets de función de biblioteca c en lenguaje ensamblador? De hecho, quiero saber cómo obtener el puntero de archivo a stdin. Gracias por su respuesta.
¿Cuántas formas de establecer un registro a cero?
Tengo curiosidad por saber cuántas maneras hay de establecer un registro a cero en el ensamblado x86. Usando una instrucción. Alguien me dijo que logró encontrar al menos 10 formas de hacerlo. Los que puedo pensar son: xor ax,ax mov ax, 0 and ax, 0
Produzca bucles sin instrucción cmp en GCC
Tengo varios ciclos cerrados que estoy tratando de optimizar con GCC e intrínsecos. Considere, por ejemplo, la siguiente función. void triad(float *x, float *y, float *z, const int n) { float k = 3.14159f; int i; __m256 k4 = _mm256_set1_ps(k); ...
¿Qué es IACA y cómo lo uso?
He encontrado esta herramienta interesante y poderosa llamadaIACA (el analizador de código de arquitectura Intel) [https://software.intel.com/en-us/articles/intel-architecture-code-analyzer], pero tengo problemas para entenderlo. ¿Qué puedo hacer ...