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

2 la respuesta

¿Cómo hacer una iso de arranque (no una unidad de CD o flash) para probar su propio cargador de arranque?

Estoy tratando de escribir un gestor de arranque (hello world sort). Estoy usando Bochs para la simulación (plataforma Linux-Ubuntu). Pero no puedo hacer una iso de arranque para mi archivo binario. Aunque en el tutorial se usa VFD (disquete ...

1 la respuesta

Implementación de syscall de exit ()

Escribí un simpleCprograma que simplemente llama alsalida() [http://man7.org/linux/man-pages/man3/exit.3.html]función, sin embargostrace [https://linux.die.net/man/1/strace]dice que el binario en realidad está llamando a exit_group, ¿exit () es ...

4 la respuesta

¿Cuándo debo usar _mm_sfence _mm_lfence y _mm_mfence

Leí la "Guía de la guía de optimización de Intel para la arquitectura Intel". Sin embargo, todavía no tengo idea de cuándo debo usar _mm_sfence() _mm_lfence() _mm_mfence()¿Alguien podría explicar cuándo se deben usar al escribir código ...

2 la respuesta

¿Cuál fue la razón original del diseño de la sintaxis de ensamblaje de AT&T? [cerrado]

Al usar las instrucciones de montaje en x86 o amd64, el programador puede usar "Intel" (es decirnasm compilador) o "AT&T" (es decirgas compilador) sintaxis de ensamblaje. La sintaxis "Intel" es más popular en Windows, pero "AT&T" es más popular ...

1 la respuesta

¿Cómo duplicar un byte sin usar otros registros?

Digamos que tengo este byte en AL:01100001 Después de aplicar unespejofunción que quiero que sea el byte10000110. Todas las ideas que se me ocurrieron tienen que usar otros registros, pero tengo curiosidad por saber si hay una manera de reflejar ...

2 la respuesta

Problema al convertir un entero a código ASCII en ensamblado x86

Estoy tratando de usar el siguiente código para convertir un número entero enax a los códigos ASCII. Pero ejecutarlo genera 515, en lugar de 513 como esperaba. ¿Dónde está el error? stk segment dw 32 dup(0) stk ends dts Segment posnum db 6 ...

6 la respuesta

Enhanced REP MOVSB for memcpy

Me gustaría utilizar REP MOVSB (ERMSB) mejorado para obtener un ancho de banda alto para una costumbrememcpy. ERMSB se introdujo con la microarquitectura Ivy Bridge. Consulte la sección "Operación REP MOVSB y STOSB mejorada (ERMSB)" en elManual ...

2 la respuesta

¿Por qué el uso de la misma línea de caché de varios subprocesos no causa una desaceleración grave?

Mira este fragmento: #include <atomic> #include <thread> typedef volatile unsigned char Type; // typedef std::atomic_uchar Type; void fn(Type *p) { for (int i=0; i<500000000; i++) { (*p)++; } } int main() { const int N = 4; std::thread thr[N]; ...

4 la respuesta

¿Es una barrera de memoria una instrucción que ejecuta la CPU, o es solo un marcador?

Estoy tratando de entender exactamente qué es una barrera de memoria. Según lo que sé hasta ahora, una barrera de memoria (por ejemplo:mfence) se utiliza para evitar el reordenamiento de instrucciones de antes a después y de después a antes de la ...

3 la respuesta

¿Por qué puedo acceder a dword / word / byte más bajo en un registro pero no más arriba?

Empecé a aprender ensamblador, y esto no me parece lógico. ¿Por qué no puedo usar varios bytes más altos en un registro? Entiendo la razón histórica derax->eax->axasí que centrémonos ennuevo Registros de 64 bits. Por ejemplo, puedo usarr8 yr8d, ...