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

2 la respuesta

obtener longitud de cadena en ensamblador GNU en línea

¡Estoy volviendo a aprender el ensamblador que utilicé en máquinas MS-DOS muy antiguas! Esta es mi comprensión de cómo debería ser esa función. Se compila pero se bloquea con unSIGSEGV al intentar poner0xffffffff enecx. El código se ejecuta en ...

3 la respuesta

¿Cuándo se necesitan GAS ELF las directivas .type, .thumb, .size y .section?

Estoy trabajando en un programa de ensamblaje para un microcontrolador basado en ARM Cortex-M3 (conjunto de instrucciones Thumb 2), usando GNU como. En algún código de ejemplo, encuentro directivas como.size, .section y.type que entiendo son las ...

2 la respuesta

Ensamblaje: ¿Cómo multiplicar / dividir una constante por otra constante en el ensamblaje?

Entonces, tengo una función de ensamblaje, que se llama en C. Se compila y no me da advertencias, pero cuando intento ejecutarla, me da un error de segmentación. Creo que es porque no puedo mover una constante a un registro, pero para usar ...

3 la respuesta

Error "no hay tal instrucción" al ensamblar el proyecto en Mac OS X

Utilicé homebrew para instalar GCC 4.7.0 y la marca de mi proyecto falla en el momento del ensamblaje. Puedo tomar con éxito el código de .c -> .s, pero .s -> .o falla. Para ver la fórmula de preparación utilizada para instalar GCC, ...

1 la respuesta

¿Cómo producir un sector de arranque de BIOS hello world mínimo con GCC que funcione desde una memoria USB en hardware real?

He logrado producir un sector de arranque mínimo que funciona con QEMU 2.0.0 Ubuntu 14.04: .code16 .global _start _start: cli mov $msg, %si mov $0x0e, %ah loop: lodsb or %al, %al jz halt int $0x10 jmp loop halt: hlt msg: .asciz "hello world" ...

1 la respuesta

¿Cómo utilizar el direccionamiento relativo RIP en un programa de ensamblaje de 64 bits?

¿Cómo uso el direccionamiento relativo RIP en un programa de ensamblaje de Linux para la arquitectura AMD64? Estoy buscando un ejemplo simple (un programa Hello world) que utiliza el modo de direccionamiento relativo AMD64 RIP. Por ejemplo, el ...

4 la respuesta

¿Cómo vincular un programa de ensamblaje de gas que usa la biblioteca estándar C con ld sin usar gcc?

Como un ejercicio para aprender con mayor precisión cómo funcionan los programas c y qué nivel mínimo de contenido debe existir para que un programa pueda usar libc, me he encargado de programar principalmente en el ensamblaje x86 usando gas y ...

1 la respuesta

¿Por qué este intento de usar sys_write no hace nada?

Aquí está .SECTION .data msg: .string "AAAA" .SECTION .text .globl _start _start: mov $1, %rax mov $1, %rdi mov msg, %rsi mov $4, %rdx syscallNo solo este códigon segfault, tampoco genera nada. e acuerdo con lo que he leído, un programa debería ...

4 la respuesta

¿Qué hace cltq en el ensamblaje?

0x0000000000400553 <main+59>: mov -0x4(%rbp),%eax 0x0000000000400556 <main+62>: cltq 0x0000000000400558 <main+64>: shl $0x3,%rax 0x000000000040055c <main+68>: mov %rax,%rdxDe hecho, mi programa es tan simple como: 5 int main(int argc, char ...

4 la respuesta

GCC: Prohibir el uso de algunos registros

Esta es una solicitud extraña, pero tengo la sensación de que podría ser posible. Lo que me gustaría es insertar algunos pragmas o directivas en áreas de mi código (escritas en C) para que el asignador de registros de GCCn usalos, usalos a ...