Flat assembler (FASM)/Instrucciones/Transferencia de datos
mov
editarMueve información desde el origen al destino ,pueden ser celdas de memoria, registros o acumulador.No sirve para mover datos entre dos variables.
mov bx,ax ;mueve el contenido del registro AX al registro BX mov [char],al ;mueve el contenido del registro AL a la memoria mov bl,[char] ;mueve el contenido de la memoria apuntado por char al registro BL mov dl,32 ;carga el registro DL con el valor 32 mov [char],32 ;mueve el valor 32 a la posición de memoria apuntada por char mov ax,ds ;mueve el valor de segmento DS al registro AX mov [bx],ds ;mueve el valor de segmento DS a la posición de memoria apuntada por bx mov ds,ax ;mueve el registro AX al registro de segmento DS mov ds,[bx] ;mueve el contenido de la memoria al registro de segmento DS mov eax,cr0 ;mueve el registro de control al registro EAX mov cr3,ebx ;mueve el registro EBX al registro de control
xchg
editarIntercambia el contenido de origen y destino. No sirve con registros de segmento como operandos
xchg ax,bx ;Intercambia el contenido de los dos registros xchg al,[char] ;Intercambia el registro con un valor en memoria
push , pushw , pushd
editarIntroduce un valor en la pila
push ax ;Introduce el contenido de ax en la pila push es ;Introduce el contenido del registro de segmento en la pila pushw [bx] ;Introduce en la pila desde la memoria un valor word push 1000h ;Introduce un valor inmediato en la pila
pop , popw , popd
editarExtrae un valor de la pila
pop bx ;extrae un valor de la pila y lo pone en un registro general pop ds ;extrae un valor de la pila y lo pone en un registro de segmento popw [si] ;extrae un valor de la pila y lo pone en memoria como word popd [si] ;extrae un valor de la pila y lo pone en memoria como double word
pusha , popa
editarIntroduce en la pila y en este orden los registros AX, CX, DX, BX, SP, BP, SI y DI ,o los extrae en orden inverso.