Intento crear mi propio sistema operativo personalizado y necesito ayuda con mi código. Este es mi gestor de arranque.asm : [ORG 0x7c00] start: cli xor ax, ax mov ds, ax mov ss, ax mov es, ax mov [BOOT_DRIVE], dl mov bp, 0x8000 mov sp, bp mov bx, 0x9000 mov dh, 5 mov dl, [BOOT_DRIVE] call […]
Estoy haciendo un sistema operativo en modo protegido basado en la architecture x86 de Intel, y estaba buscando información sobre cómo apagar la computadora a través del código ensamblador, o algo así. ¿Podrías ayudarme con este problema?
¿Puede decirme por favor la diferencia entre SALTAR SI ARRIBA Y SALTAR SI ES MAYOR en el idioma ensamblador? ¿Cuándo uso cada uno de ellos? ¿me dan resultados diferentes?
mov al,10 add al,15 ¿Cómo imprimo el valor de ‘ al ‘?
Como los recursos web en este campo son escasos, comenzaré por listar los modos de dirección para el lenguaje de ensamblaje IA-32 (NASM) y, a continuación, haré un seguimiento con una pregunta rápida. Registro de direcciones mov eax, ebx: copia lo que está en ebx en eax mov esi, var: copia la dirección de var […]
¿Cuál es la función del 0x10 con respecto a esta instrucción LEAL? ¿Es una multiplicación o adición o es algo más? leal 0x10(%ebx), %eax ¿Alguien puede aclarar? Este es un ensamblador x86 en una caja Linux.
Estamos escribiendo un código de bytes para un lenguaje comstackdo de alto nivel, y después de un poco de perfilado y optimización, quedó claro que la sobrecarga de rendimiento más grande actual es la statement de cambio que estamos usando para saltar a los casos de código de bytes. Investigamos la extracción de la dirección […]
Tengo un entero A de 128 bits sin signo y un entero sin signo de 64 bits B. ¿Cuál es la forma más rápida de calcular A % B , es decir, el rest (de 64 bits) de dividir A entre B? Estoy buscando hacer esto en C o en lenguaje ensamblador, pero tengo que […]
¿Qué hace rep; nop rep; nop significa? ¿Es lo mismo que la instrucción de pause ? ¿Es lo mismo que rep nop (sin el punto y coma)? ¿Cuál es la diferencia con la instrucción simple nop ? ¿Se comporta de manera diferente en los procesadores AMD e Intel? (bonificación) ¿Dónde está la documentación oficial para […]
Tanto _addcarry_u64 como ICC admiten los intrínsecos _addcarry_u64 y _addcarryx_u64 . De acuerdo con la Guía intrínseca de Intel y el libro blanco, estos deben adcx a adcx y adox respectivamente. Sin embargo, al observar el ensamblaje generado, está claro que se asignan a adc y adcx respectivamente, y no hay ningún intrínseco que se […]