MANUALES

Programación Ensamblador

4. La instrucción Mov

Aunque la entrada en el lenguaje la iremos haciendo despacio para que no le cueste asimilar los conceptos , he preferido introducirle ya en esta instruccion del lenguaje ensamblador, pues sera una de las instrucciones que mas usara en sus programas y la que ya seguro que conoce o ha visto en algun programa.

Con la instruccion Mov se puede decir que asignamos valores a los registros, bien es cierto que como hemos visto anteriormente en el capitulo de registros, tenemos dos tipos de registros, los normales y los de segmento, a cada uno de ellos la asignacion de valores por medio del mov se produce de forma distinta.

La forma estandar de la instruccion Mov seria:

Mov AX,16

Con esto hemos introducido el valor 16 en el registro AX, pero esto no es lo mismo que:

Mov AX[16]

Esto aunque nos parezca parecido o igual , en realidad es completamente diferente, mientras que con Mov AX,16, introducimos el valor 16 en el registro AX, con Mov AX[16] , en realidad introducimos en el registro AX el valor que se encuentre en la posicion de memoria numero 16.

Esto es algo que debe fijarse por ahora, pues con el tiempo vera la diferencia rapidamente y notara enseguida como es cada instruccion y como se comporta cada una de ellas, que como ha podido ver sus efectos son totalmente distintos.

Otra asignacion con los registros normales, son las que se producen entre ellos mismos:

Mov AX,BX

Esto carga el valor del registro BX en el AX, osea que ahora tendrian tanto AX como BX el mismo valor, tambien hemos de decir que con esto, el valor que tuviera AX se perderia al asignarle el valor que tiene BX.

Como hemos dicho , los registros de segmento tienen una asignacion distinta, y esto se debe a que a un registro de segmento no le podemos asignar el valor directamente, osea:

Mov DS, 10

esto no se nos permite y daria un error, para hacer esto debemos utilizar un registro intermedio:

Mov AX,16
Mov DS,AX

con esto ponemos el valor 16 en DS que es lo que queriamos , pero con el registro AX como intermediario, primero se lo asignamos a AX y despues a DS le aignamos el valor de AX.

Otra funcion de Mov es la asignacion de un registro a una determinada posicion de memoria, osea:

Mov AX,[10] digimos que ponia en AX el valor que tuviera la posicion 10 de memoria, pues
Mov [10],AX pone en la posicion de memoria lo que contenga el registro AX

Aunque al principio le parezca un poco lioso, con el tiempo se acostumbrarà a ver conchetes a uno y otro lado de la intruccion Mov y no le costarà tanto trabajo asimilar el concepto de cada caso.

Páginas:
1 2 3 4 5 6 7 8 9 10 11