Curso de Asembler - Comenzamos!

4 - Comenzamos!

[editar]
Curso gratis creado por Pablo Barrón Ballesteros ( Wintermute ).
04 de Noviembre de 2005
Por fin vamos a empezar con órdenes en ensamblador. Y comenzaremos con

la m s sencilla, pero curiosamente la m s utilizada en ‚ste lenguaje:

    La orden MOV

La función de la orden MOV es, como su nombre da a entender, "mover" un

valor. Pongamos un ejemplo:

MOV AX,BX

Esta órden en lenguaje ensamblador, copiar  el contenido de BX en AX,

conservando el valor de BX. He aquí algún ejemplo m s:

MOV AX,DS

MOV ES,AX

MOV DX,AX

MOV AL,DH

Como se v‚, no se puede realizar MOV AL,BX, ya que en AL no cabe BX

( sencillo, no ;) )

Tambi‚n se puede introducir un valor dir‚ctamente en un registro. Sería

el caso de:

MOV AX,0FEA2h

MOV BL,255

MOV DH,01110101b

Así de paso pongo ejemplos de como se utiliza la numeración. El primero

era un número hexadecimal, el segundo decimal ( que no va acompa¤ado por

nada para indicarlo ), y el tercero binario ( con la b al final ). A veces

para representar un número decimal se pone una 'd' al final ( p.ej, 10d )

M s utilidades de MOV. Podemos transferir bytes que est‚n en memoria

a un registro, o de un registro a memoria. Vayamos con los ejemplos:

MOV AX,[BX]

Y pongamos que en BX est  0EEEEh. En vez de transferir a AX el valor

0EEEEh, le transferiremos el valor que haya en la posición de memoria

CS:BX, si CS por ejemplo vale 0134h y BX 03215h, transferiríamos el byte

que hay en 0134:03215h y el siguiente a AX.

Se puede hacer tambi‚n al rev‚s;

MOV [AX],CX

Escribiríamos en la dirección de memoria CS:AX el valor de CX.

Y tambi‚n podremos usar valores númericos:

MOV AX,[2325h]    ( lo que hay en CS:2325h )

MOV AX,DS:[2325h] ( el valor en DS:2325h )

MOV AX,DS:DX      ( el valor en DS:DX )

MOV DX,CS:CX      ( a DX, valor en CS:CX )

MOV BX,CS:1241h   ( a BX, valor en CS:1241h )

Muchas veces, se utiliza Word Ptr o Byte Ptr, que aclaran el tama¤o a

transferir:

MOV AL,BYTE PTR [BX+SI-30h]

MOV AX,WORD PTR [BX+DI]

Como acabamos de ver, es posible hacer "sumas" de valores al buscar

una dirección en memoria. Otros ejemplos serían:

MOV AX,[BX+3]

MOV [BP+SI],AH

Y para acabar ‚sta lección, aquí ten‚is una tablilla de ejemplos sacada

de un libro sobre MOVs que se pueden hacer:

ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·

º Formatos de la instrucción MOV    º     Ejemplos                  º

ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ

º MOV reg,reg                       º     MOV AX,BX                 º

º MOV mem,reg                       º     MOV [BX],AL               º

º MOV reg,mem                       º     MOV CH,[40FFh]            º

º MOM mem,inmed                     º     MOV BYTE PTR [DI],0       º

º MOV reg,inmed                     º     MOV BX,0FFFFh             º

º MOV segreg,reg16                  º     MOV DS,AX                 º

º MOV mem,segreg                    º     MOV [SI],ES               º

º MOV segreg,mem                    º     MOV SS,[1234h]            º

ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ

reg: registro           mem:memoria         inmed:número inmediato

segreg: registro de segmento            reg16: registro de 16 bits

Y vista la orden MOV, seguimos adelante,... sencillo, no ? ;)
[editar]

7 opiniones

Opinión.

Obsoleto. Poco práctico. Inservible. Para un museo puede estar bien. Jajaja no sería obsoleto si fueras a programar un sistema operativo , es un lenguaje muy poderoso , en el que está hecho parte de windows , y de linux

saludos.
Felicitaciones.

Excelente explicacion gracias.
Bueno.

El curo esta bueno pero necesito tener mas informacion para crear programas.
Mvp.

Excelente.
Bueno.

Excelente trabajo. Siga adelante.
1 2 | siguiente >

Cursos gratis relacionados con 'Curso de Asembler'

Completo curso de lenguaje ensamblador.

Autor y licencia de 'Curso de Asembler'


Curso gratis de Pablo Barrón Ballesteros ( Wintermute ). Extraido de: CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.