Movimiento de datos
Estoy enumerando algunas instrucciones del lenguaje ensamblador para las operaciones de los datos aquí para tu conocimiento y conveniencia, cuando haremos la programación con la ayuda de interrupciones y de otras operaciones del BIOS que necesitaremos sus fundamentos.
La introducción detallada y el estudio cuidadoso del lenguaje ensamblador está más allá del límite de este libro. Aunque el conocimiento de fundamentos de la asamblea es necesario proceder en los capítulos de programación importantes posteriores con todo si lo sientes difícil de entender todas las instrucciones, no necesitas preocuparse pero se recomienda que debes ganar la idea básica de instrucciones.
En cualquier programa es necesario mover los datos en la memoria y en la CPU se coloca y hay varias maneras de hacer esto. puede copiar datos en la memoria a un poco de registro, del inter-registro, de un registro a un apilado, de un apilado a un registro, para transmitir datos a los dispositivos externos así como viceversa.
Este movimiento de datos está conforme a reglas y a restricciones. Los siguientes son algunas de ellas:
- No es posible mover datos a partir de una posición de memoria a otra directamente. Es necesario a primero mueve los datos de la localización de la fuente a un registro y entonces desde el registro al lugar de la destinación.
- No es posible mover una constante directamente a un registro del segmento; primero debe ser movido a un registro en la CPU.
- Es posible mover bloques de los datos por medio de las instrucciones de MOVS, que copia una cadena de octetos o de palabras. MOCSB que copia octetos de n a partir de una localización a las palabras otro y de las copias n de MOVSW a partir de una localización a otra. Las dos instrucciones pasadas toman los valores de las direcciones definidas por el DS: SI como grupo de datos a moverse y de ES: DI como la nueva localización de los datos.
Moverse los datos allí son también estructuras llamadas las baterías, donde los datos se introducen con la instrucción del empuje y se extraen con la instrucción del estallido. En un apilado que los primeros datos que se introducirán son el pasado podemos tomar, éste está, si en nuestro programa utilizamos estas instrucciones:
PUSH AX
PUSH BX
PUSH CX
Volver los valores correctos a cada registro en el momento de tomároslo del apilado es necesario hacerlo en la orden siguiente:
POP CX
POP BX
POP AX
Para la comunicación con los dispositivos externos se utiliza el comando de la salida de enviar la información a un puerto y en comando de leer la información recibida de un puerto.
El sintaxis del comando de la SALIDA es:
OUT DX,AX
Donde DX contiene el valor del puerto que será utilizado para la comunicación y el HACHA contiene la información que será enviada.
El sintaxis del EN comando es:
IN AX,DX
Donde está el registro el HACHA donde la información entrante será guardada y DX contiene la dirección del puerto por el cual la información llegará.
|