Resultados de la búsqueda a petición "assembly"
¿Crear una función C sin el prólogo / epílogo generado por el compilador y la instrucción RET?
Considere esta función: void foo(){ //do something }En el ensamblaje se vería algo así (no exacto): push something ;do stuff pop something retPero no quiero este código generado (JUBILADO, EMPUJAR, POPULAR ...) Solo quiero una etiqueta para un ...
¿Cómo funciona exactamente la instrucción x86 LOOP?
mov ecx, 16 looptop: . . . loop looptop¿Cuántas veces se ejecutará este ciclo? Qué pasa siecx = 0 ¿para empezar? Haceloop salto o caída en ese caso?
¿Cómo encuentro cómo el compilador de C ++ implementa algo, excepto inspeccionar el código de máquina emitido?
Supongamos que he creado un conjunto de clases para abstraer algo y ahora me preocupa si mi compilador de C ++ podrápara despegar esos envoltorios y emitir un código realmente limpio, conciso y rápido [https://stackoverflow.com/q/4332164/57428]. ...
¿Deben las comparaciones de punteros ser firmadas o no en x86 de 64 bits?
Al escribir el ensamblado de espacio de usuario x86 y comparar dos valores de puntero, ¿deberíamos usarfirmado condiciones comojl yjge ono firmado condiciones comojb yjae? Intuitivamente, pienso en los punteros como sin signo, que van de 0 a 2 ^ ...
¿Por qué NASM no tiene problemas con las instrucciones nemotécnicas válidas como nombres de símbolos en operandos?
Escribí el siguiente programa simple, pero nasm se niega a compilarlo. section .text global _start _start: mov rax, 0x01 mov rdi, 0x01 mov rsi, str mov rdx, 0x03 syscall mov rax, 60 syscall segment .data str db 'Some string' nasm -f elf64 ...
¿Por qué las llamadas al sistema Linux x86-64 modifican RCX, y qué significa el valor?
Estoy tratando de asignar algo de memoria en Linux consys_brk syscall Esto es lo que probé: BYTES_TO_ALLOCATE equ 0x08 section .text global _start _start: mov rax, 12 mov rdi, BYTES_TO_ALLOCATE syscall mov rax, 60 syscallLa cuestión es que, ...
¿Por qué no puedo mmap (MAP_FIXED) la página virtual más alta en un proceso Linux de 32 bits en un núcleo de 64 bits?
Mientras intentaba probar¿Está permitido acceder a la memoria que abarca el límite cero en x86? [https://stackoverflow.com/questions/47702410/is-it-allowed-to-access-memory-that-spans-the-zero-boundary-in-x86#comment82366009_47702410] En el ...
Acceso al mouse a través del ensamblaje x86
Estoy usando assembly-x86 en un emulador de DOS (dosbox). Quiero usar el mouse gráfico en modo de video, pero no puedo encontrar una manera de acceder a él, para encontrar su posición y reaccionar a los clics. He encontrado varios ejemplos de ...
Llamar a la función C / C ++ desde el ensamblado (OSX Mavericks x64)
Este es un problema extraño para el que parece que no puedo encontrar una respuesta. Esta: #include <iostream> using namespace std; void show_number(int number) { cout << number << endl; // Shows '10' as expected } int main() { cout << endl; // ...
Ensamblaje x86 NASM - Evite leer la clave de retorno
Acabo de empezar a aprender ensamblaje y no encuentro ningún contenido útil que me ayude. Estoy creando un programa simple que lee la entrada del usuario, básicamente: section .bss opA: resw 1 opB: resw 1 section .text global _start inputA: ...