MOV CS, AX está mal. Entonces, ¿MOV AX, CS es correcto o incorrecto?
Realmente no soporto que estas dos personas @Shariport y @DoingAndTalking digan tonterías y engañen a otros sobre este tema. @DoingAndTalking una vez insertó "db 0x8E, 0xC8" en el código fuente ensamblador, luego usó depuración para desmontar este fragmento en mov cs, ax y creyó que esta instrucción podría ejecutarse. ¡Tonterías incultas! Puede simplemente escribir un fragmento de código de bytes en el programa fuente ensamblador y la depuración puede desensamblarlo en instrucciones ensambladoras. Se recomienda a los lectores que piensen detenidamente en esta pregunta: "¿Cómo distingue una computadora entre datos y código?"
@Shari Porter Lo que es aún más ridículo es que crees que mov cs, ax se puede ejecutar sin pasar por el sistema operativo. Intel estipula que el registro del segmento cs no se puede modificar, lo que significa que siempre que utilice un chip de arquitectura x86, esta instrucción es ilegal. El siguiente es un programa maestro del sector de arranque, sin sistema operativo, que se ejecuta en la máquina virtual de bochs:
El siguiente es el resultado de la ejecución. Se puede ver que el procesador puede desensamblarse "8EC8" en ". mov cs" ,ax", pero ejecutar esta instrucción activará una interrupción de excepción:
"MOV_EwSw: no se puede usar este registro de segmento 1.". Mirando el iret en la parte de atrás, supongo que esas dos personas no tienen idea de lo que es una interrupción anormal. Espero que los lectores no escuchen las tonterías de estas dos personas.
Espero que los lectores no escuchen las tonterías de estas dos personas.