SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Sintaxis del lenguaje ensamblador.
La sintaxis es la siguiente
Nombre de la instrucción Operando 1, Operando 2, Operando 3, Operando 4, ...
El nombre de la instrucción está formada por 2 o 3 letras, los operandos pueden ser
registros, constantes o direcciones de memoria. La cantidad de operandos dependerá de
la instrucción.
Por ejemplo:
MOV AL, [1000]
Esta instrucción indica que se copie el valor de la porción de la memoria que esté en la
ubicación 1000 (En hexadecimal) a la parte baja del registro AX (AL). Cuando un operando
es un valor de una dirección de memoria, ésta dirección se escribe entre corchetes,
recordar que el operando 1 es el destino y el operando 2 es el origen. Y cuando es una
constante dependerá del ensamblador, en el caso del debug (Un programa que sirve para
crear y editar aplicaciones que viene con el DOS) se interpretarán como hexadecimales, en
los siguientes ejemplos se interpretará que las constantes son números hexadecimales.
También se puede tomar un valor de la memoria apuntado por un registro, por ejemplo:
MOV AL, [DI]
DI está apuntado al valor que está en la memoria que será copiado al registro AL. El
nombre MOV viene de la palabra move, que es una palabra del ingles que significa mover.
Justamente la instrucción mencionada significa, mover el valor apuntado por DI a AL.
También se puede copiar el valor de un registro a otro
MOV AL, BL
En este caso se copia el valor de BL a AL
Igualmente se puede copiar el valor de la parte baja de un registro a la parte alta de otro
registro
MOV CH, DL
Así como también operar con las partes altas
MOV AH, DH
Inclusive se puede copiar el valor de un registro a una dirección de memoria
MOV [1000], AL
Igualmente apuntada la dirección de memoria a DI
MOV [DI], AL
Y también con los registros completos (Solamente completos en el procesador 8086)
MOV AX, DX
También trabajar con los registros completos para todos los procesadores de 32 bits
MOV EBX, EDX
En éste caso mueve la totalidad del registro DX a la totalidad del registro BX, en éste caso
se está trabajando con los registros en forma extendida (32 bits), pero hay que tener
precaución ya que el procesador 8086 no interpretará correctamente ésta instrucción (El
procesador 8086 es obsoleto por ésta desventaja y otras más, por ejemplo sólo puede
direccionar 1 MB), además el debug no puede interpretar ésta instrucción.
No se puede realizar lo siguiente porque no se pueden pasar valores en la memoria sin la
intervención de un registro, además no se ha especificado el tamaño
MOV [1000], [2000]
Igualmente no se puede hacer lo siguiente
MOV [DI], [1000]
Así como también lo siguiente
MOV [DI], [SI]
Sin embargo lo siguiente es correcto
MOV [1000], AX
Pero no lo siguiente porque no se está especificando el tamaño
MOV [SI], 1F
Lo correcto sería lo siguiente
Si se quiere transferir un byte
MOV byte [SI], 1F
Si se quiere transferir una palabra (16 bits)
MOV word [SI], 1F
Si se quiere transferir una doble palabra (32 bits)
MOV dword [SI], 1F
Instrucciones del leguaje ensamblador
Movimiento de datos con respecto a la memoria
Las instrucciones que se encargan de mover datos en relación con la memoria se pueden
categorizar por tareas específicas:
· Las que transfieren datos de un registro a otro o entre la memoria y los registros.
· Las que preparan registros para accesar una localidad de memoria.
· Las que manipulan la pila.
· Las que mueven grandes bloques de datos.
· Las que interactúan con dispositivos periféricos a través de puertos.
La instrucción de movimiento mas común es “mov “ que requiere de dos operadores, su
sintaxis es:
mov destino, fuente.
El destino no puede ser el registro de segmentos CS, no se puede mover un valor
inmediato a un registro de segmentos para poder hacerlo utilice un registro intermedio
como AX, ejemplo
Mov AX, 3
Mov DS, AX
Adicional a la instrucción “mov”, existen otras que operan bajo circunstancias diferentes
con el mismo propósito, la instrucción “xchg” intercambia el contenido de la fuente con el
destino.
Otra instrucción útil es “xlat” (traslate), se utiliza comúnmente al trabjar con tablas o
arreglos, esta instrucción reemplaza el valor de AL por un nuevo valor tomado de la tabla
que se compone de un conjunto de localidades contiguas en memoria, y supone que el
registro BX contiene la dirección del primer elemento de la tabla.
En resumen:
mov src, dest
mov dest, src
src : fuente: Inmediata. Registro. Memoria
dest : destino: Registro. Memoria
movz src, dest
movzx dest, src
src : fuente: Registro. Memoria
dest :destino: Registro
movs src, dest
movsx dest, src
src : fuente: Registro. Memoria
dest :destino: Registro
xchg src, dest
xchg dest, src
src : fuente: Registro. Memoria
dest : destino: Registro. Memoria
Administración de la pila
La pila es usada automáticamente por las instrucciones “call”, “int”, “ret” y “iret”, par
guardar o restaurar la dirección de retorno antes de ejecutar las rutinas indicadas por
dichas instrucciones. Otros servicios que presta es para pasar parámetros entre rutinas, o
bien de un lenguaje de alto nivel al ensamblador, la pila se manipula mediante las
instrucciones “push” (empuja o almacena en la pila) y “pop” (extrae o saca de la pila).
Por ejemplo la instrucción “push [1125]” empuja a la pila el contenido de la localidad de
memoria 1125.
Otro ejemplo, las instrucciones “push ax”, “push bx” almacenan en la pila los valores de
los registros AX y BX, para después sacarlos de la pila con las instrucciones “pop ax”, “pop
bx”.
Movimiento bloques de datos
En la programación de alto nivel normalmente se deben inicializar arreglos o copiar
cadenas de caracteres, en lenguaje ensamblador existen instrucciones que permiten
trabajar con bloques de datos, estas son “movs”, “stos” y “lods” los dos primeros se
utilizan con un prefijo de repetición, como REP, lo que permite repetir una operación
tantas veces como se estipule en el registro CX, lo que conlleva a una minimización del
código.
Existen otros prefijos como REPE (repite hasta encontrar la igualdad) o REPZ (repite hasta
que el valor sea cero), REPNE (repite mientras el valor no sea igual)o REPNZ (repite
mientras el valor no sea cero) usados en combinación con las instrucciones “cmp”
(comparar) y “scas” (escanerar-cadena).
Trabajo con bloques, El movimiento de grandes bloques de memoria y su inicialización se
basan en fuente-destino controlados por SI-DI y un bit en el registro de flags que
especifica la dirección o sentido en la cual se debe trabajar: “cdl” hacia adelante o “std”
de atrás hacia adelante. Las instrucciones “movs” tiene dos modalidades, la primera
puede mover bytes “movsb” o palabras “movsw” estando en función de los registros
pares DS:SI como fuente y ES:DI como destino.
Referencia:
http://datateca.unad.edu.co/contenidos/309696/ECBTI_MPyMC_V_02/leccin__14_instru
cciones_bsicas_en_assembler.html

Más contenido relacionado

La actualidad más candente

Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
instruccion de control
instruccion de controlinstruccion de control
instruccion de controlluiseldrumer
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficaciónAndhy H Palma
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingvmtorrealba
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Jose luisroisic6a 20042015
Jose luisroisic6a 20042015Jose luisroisic6a 20042015
Jose luisroisic6a 20042015JLuis Reyes Olea
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 

La actualidad más candente (20)

Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Modos direccionamiento
Modos direccionamientoModos direccionamiento
Modos direccionamiento
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
instruccion de control
instruccion de controlinstruccion de control
instruccion de control
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficación
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Matematicos
MatematicosMatematicos
Matematicos
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turing
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Jose luisroisic6a 20042015
Jose luisroisic6a 20042015Jose luisroisic6a 20042015
Jose luisroisic6a 20042015
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Similar a Sintaxis y movimiento de datos en lenguaje ensamblador

Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01Isaias Castro
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerPedro Contreras Flores
 
Registros ensayo
Registros ensayoRegistros ensayo
Registros ensayoMarp Aerov
 
Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)Carlos Guillén
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalledsolana
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoHarold Torres
 
Modos de direccionamiento.
Modos de direccionamiento.Modos de direccionamiento.
Modos de direccionamiento.deaisai
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000guest0f5365
 
Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesadorSaya Otonashi
 

Similar a Sintaxis y movimiento de datos en lenguaje ensamblador (20)

Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
 
Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con Assembler
 
Registros ensayo
Registros ensayoRegistros ensayo
Registros ensayo
 
Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Registros
RegistrosRegistros
Registros
 
Registros
RegistrosRegistros
Registros
 
Data segment
Data segmentData segment
Data segment
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Workshop reversing
Workshop reversingWorkshop reversing
Workshop reversing
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamiento
 
Modos de direccionamiento.
Modos de direccionamiento.Modos de direccionamiento.
Modos de direccionamiento.
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
 
Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesador
 

Más de naye torres

Examen unidad 4 de arqui
Examen unidad 4 de arquiExamen unidad 4 de arqui
Examen unidad 4 de arquinaye torres
 
Mapa conceptual
Mapa conceptual Mapa conceptual
Mapa conceptual naye torres
 
Examen unidad 4 arfi
Examen unidad 4 arfiExamen unidad 4 arfi
Examen unidad 4 arfinaye torres
 
Examen unidad 4 arfi
Examen unidad 4 arfiExamen unidad 4 arfi
Examen unidad 4 arfinaye torres
 
Cuadro comparativo unidad 4
Cuadro comparativo unidad 4Cuadro comparativo unidad 4
Cuadro comparativo unidad 4naye torres
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiemponaye torres
 
Tipos de chipset para portátiles y para escritorio
Tipos de chipset para portátiles y para escritorio Tipos de chipset para portátiles y para escritorio
Tipos de chipset para portátiles y para escritorio naye torres
 
Memoria virtual un. 3
Memoria virtual un. 3Memoria virtual un. 3
Memoria virtual un. 3naye torres
 
Actvidad de buses un 3
Actvidad de buses un 3Actvidad de buses un 3
Actvidad de buses un 3naye torres
 
Unidad 3 cuestionario
Unidad 3 cuestionarioUnidad 3 cuestionario
Unidad 3 cuestionarionaye torres
 
Unidad3 características de los buses
Unidad3 características de los busesUnidad3 características de los buses
Unidad3 características de los busesnaye torres
 
Dinamica de-comunicacion
Dinamica de-comunicacionDinamica de-comunicacion
Dinamica de-comunicacionnaye torres
 

Más de naye torres (20)

Examen unidad 4 de arqui
Examen unidad 4 de arquiExamen unidad 4 de arqui
Examen unidad 4 de arqui
 
Mapa conceptual
Mapa conceptual Mapa conceptual
Mapa conceptual
 
Practica
Practica Practica
Practica
 
Examen unidad 4 arfi
Examen unidad 4 arfiExamen unidad 4 arfi
Examen unidad 4 arfi
 
Examen unidad 4 arfi
Examen unidad 4 arfiExamen unidad 4 arfi
Examen unidad 4 arfi
 
Arfi unidad 3
Arfi unidad 3 Arfi unidad 3
Arfi unidad 3
 
Tarea
TareaTarea
Tarea
 
Examen unidad 4
Examen unidad 4Examen unidad 4
Examen unidad 4
 
Mapa arfi
Mapa arfiMapa arfi
Mapa arfi
 
Zona de-trabajo
Zona de-trabajoZona de-trabajo
Zona de-trabajo
 
Cuadro comparativo unidad 4
Cuadro comparativo unidad 4Cuadro comparativo unidad 4
Cuadro comparativo unidad 4
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
 
Practica
PracticaPractica
Practica
 
Tipos de chipset para portátiles y para escritorio
Tipos de chipset para portátiles y para escritorio Tipos de chipset para portátiles y para escritorio
Tipos de chipset para portátiles y para escritorio
 
Memoria virtual un. 3
Memoria virtual un. 3Memoria virtual un. 3
Memoria virtual un. 3
 
practica_buses
practica_busespractica_buses
practica_buses
 
Actvidad de buses un 3
Actvidad de buses un 3Actvidad de buses un 3
Actvidad de buses un 3
 
Unidad 3 cuestionario
Unidad 3 cuestionarioUnidad 3 cuestionario
Unidad 3 cuestionario
 
Unidad3 características de los buses
Unidad3 características de los busesUnidad3 características de los buses
Unidad3 características de los buses
 
Dinamica de-comunicacion
Dinamica de-comunicacionDinamica de-comunicacion
Dinamica de-comunicacion
 

Último

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 

Último (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 

Sintaxis y movimiento de datos en lenguaje ensamblador

  • 1. Sintaxis del lenguaje ensamblador. La sintaxis es la siguiente Nombre de la instrucción Operando 1, Operando 2, Operando 3, Operando 4, ... El nombre de la instrucción está formada por 2 o 3 letras, los operandos pueden ser registros, constantes o direcciones de memoria. La cantidad de operandos dependerá de la instrucción. Por ejemplo: MOV AL, [1000] Esta instrucción indica que se copie el valor de la porción de la memoria que esté en la ubicación 1000 (En hexadecimal) a la parte baja del registro AX (AL). Cuando un operando es un valor de una dirección de memoria, ésta dirección se escribe entre corchetes, recordar que el operando 1 es el destino y el operando 2 es el origen. Y cuando es una constante dependerá del ensamblador, en el caso del debug (Un programa que sirve para crear y editar aplicaciones que viene con el DOS) se interpretarán como hexadecimales, en los siguientes ejemplos se interpretará que las constantes son números hexadecimales. También se puede tomar un valor de la memoria apuntado por un registro, por ejemplo: MOV AL, [DI] DI está apuntado al valor que está en la memoria que será copiado al registro AL. El nombre MOV viene de la palabra move, que es una palabra del ingles que significa mover. Justamente la instrucción mencionada significa, mover el valor apuntado por DI a AL. También se puede copiar el valor de un registro a otro MOV AL, BL En este caso se copia el valor de BL a AL Igualmente se puede copiar el valor de la parte baja de un registro a la parte alta de otro registro MOV CH, DL Así como también operar con las partes altas MOV AH, DH Inclusive se puede copiar el valor de un registro a una dirección de memoria MOV [1000], AL Igualmente apuntada la dirección de memoria a DI
  • 2. MOV [DI], AL Y también con los registros completos (Solamente completos en el procesador 8086) MOV AX, DX También trabajar con los registros completos para todos los procesadores de 32 bits MOV EBX, EDX En éste caso mueve la totalidad del registro DX a la totalidad del registro BX, en éste caso se está trabajando con los registros en forma extendida (32 bits), pero hay que tener precaución ya que el procesador 8086 no interpretará correctamente ésta instrucción (El procesador 8086 es obsoleto por ésta desventaja y otras más, por ejemplo sólo puede direccionar 1 MB), además el debug no puede interpretar ésta instrucción. No se puede realizar lo siguiente porque no se pueden pasar valores en la memoria sin la intervención de un registro, además no se ha especificado el tamaño MOV [1000], [2000] Igualmente no se puede hacer lo siguiente MOV [DI], [1000] Así como también lo siguiente MOV [DI], [SI] Sin embargo lo siguiente es correcto MOV [1000], AX Pero no lo siguiente porque no se está especificando el tamaño MOV [SI], 1F Lo correcto sería lo siguiente Si se quiere transferir un byte MOV byte [SI], 1F Si se quiere transferir una palabra (16 bits) MOV word [SI], 1F Si se quiere transferir una doble palabra (32 bits) MOV dword [SI], 1F
  • 3. Instrucciones del leguaje ensamblador Movimiento de datos con respecto a la memoria Las instrucciones que se encargan de mover datos en relación con la memoria se pueden categorizar por tareas específicas: · Las que transfieren datos de un registro a otro o entre la memoria y los registros. · Las que preparan registros para accesar una localidad de memoria. · Las que manipulan la pila. · Las que mueven grandes bloques de datos. · Las que interactúan con dispositivos periféricos a través de puertos. La instrucción de movimiento mas común es “mov “ que requiere de dos operadores, su sintaxis es: mov destino, fuente. El destino no puede ser el registro de segmentos CS, no se puede mover un valor inmediato a un registro de segmentos para poder hacerlo utilice un registro intermedio como AX, ejemplo Mov AX, 3 Mov DS, AX Adicional a la instrucción “mov”, existen otras que operan bajo circunstancias diferentes con el mismo propósito, la instrucción “xchg” intercambia el contenido de la fuente con el destino. Otra instrucción útil es “xlat” (traslate), se utiliza comúnmente al trabjar con tablas o arreglos, esta instrucción reemplaza el valor de AL por un nuevo valor tomado de la tabla que se compone de un conjunto de localidades contiguas en memoria, y supone que el registro BX contiene la dirección del primer elemento de la tabla. En resumen: mov src, dest mov dest, src
  • 4. src : fuente: Inmediata. Registro. Memoria dest : destino: Registro. Memoria movz src, dest movzx dest, src src : fuente: Registro. Memoria dest :destino: Registro movs src, dest movsx dest, src src : fuente: Registro. Memoria dest :destino: Registro xchg src, dest xchg dest, src src : fuente: Registro. Memoria dest : destino: Registro. Memoria Administración de la pila La pila es usada automáticamente por las instrucciones “call”, “int”, “ret” y “iret”, par guardar o restaurar la dirección de retorno antes de ejecutar las rutinas indicadas por dichas instrucciones. Otros servicios que presta es para pasar parámetros entre rutinas, o bien de un lenguaje de alto nivel al ensamblador, la pila se manipula mediante las instrucciones “push” (empuja o almacena en la pila) y “pop” (extrae o saca de la pila). Por ejemplo la instrucción “push [1125]” empuja a la pila el contenido de la localidad de memoria 1125. Otro ejemplo, las instrucciones “push ax”, “push bx” almacenan en la pila los valores de los registros AX y BX, para después sacarlos de la pila con las instrucciones “pop ax”, “pop bx”. Movimiento bloques de datos
  • 5. En la programación de alto nivel normalmente se deben inicializar arreglos o copiar cadenas de caracteres, en lenguaje ensamblador existen instrucciones que permiten trabajar con bloques de datos, estas son “movs”, “stos” y “lods” los dos primeros se utilizan con un prefijo de repetición, como REP, lo que permite repetir una operación tantas veces como se estipule en el registro CX, lo que conlleva a una minimización del código. Existen otros prefijos como REPE (repite hasta encontrar la igualdad) o REPZ (repite hasta que el valor sea cero), REPNE (repite mientras el valor no sea igual)o REPNZ (repite mientras el valor no sea cero) usados en combinación con las instrucciones “cmp” (comparar) y “scas” (escanerar-cadena). Trabajo con bloques, El movimiento de grandes bloques de memoria y su inicialización se basan en fuente-destino controlados por SI-DI y un bit en el registro de flags que especifica la dirección o sentido en la cual se debe trabajar: “cdl” hacia adelante o “std” de atrás hacia adelante. Las instrucciones “movs” tiene dos modalidades, la primera puede mover bytes “movsb” o palabras “movsw” estando en función de los registros pares DS:SI como fuente y ES:DI como destino. Referencia: http://datateca.unad.edu.co/contenidos/309696/ECBTI_MPyMC_V_02/leccin__14_instru cciones_bsicas_en_assembler.html