Resultados de la búsqueda a petición "assembly"

3 la respuesta

¿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 ...

1 la respuesta

¿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?

8 la respuesta

¿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]. ...

1 la respuesta

¿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 ^ ...

1 la respuesta

¿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 ...

1 la respuesta

¿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, ...

1 la respuesta

¿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 ...

1 la respuesta

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 ...

1 la respuesta

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; // ...

1 la respuesta

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: ...