SlideShare una empresa de Scribd logo
Lenguaje de máquina
• Los diseños para los lenguajes de
programación han ido evolucionando
desde que aparecieron los lenguajes
de alto nivel que en su momento
eran los de mayor demanda pero
que sin embargo eran muy
complejos de desarrollar, esto data
de los años 1950. Ya en la década
de 1970 se realizan nuevos
lenguajes de programación tales
como: Ada, C, Pascal, Prolog y
Smaltalk y los lenguajes de
programación como C++ y ML de los
años ochenta.
• Lenguajes basados en cálculos
numéricos.
• Lenguajes para negocios.
• Lenguajes para inteligencia artificial.
• Lenguajes para sistemas
• Según Joyanes (2003), FORTRAN se
empleaba para cómputo científico, el
lenguaje más utilizado en cuanto a
negocios eran escritos en COBOL, las
aplicaciones militares en JOVIAL y las
militares incrustadas en ADA, pero de
todos los lenguajes que habían en los
años 1960 ya no queda ninguno pues
con las evoluciones que han adquirido
han ido descartando lenguajes de difícil
manejo.
• Lenguajes de Máquina:
– Lenguaje directamente inteligibles por la
máquina ya que sus instrucciones son cadenas
binarias.
• Lenguajes de Bajo Nivel o Ensamblador
(Assembler):
– Permiten crear programas muy rápidos, pero
que son a menudo difíciles de aprender.
• Lenguajes de Alto Nivel:
– Son los más utilizados por lo programadores y por
cualquier persona.
• Intérpretes:
– Es un traductor que toma un programa fuente, lo
traduce y a continuación lo ejecuta
• Compiladores:
– Es aquel programa que traduce un programa en
lenguaje de alto nivel.
– Fases de compilación; proceso por el cual el
programa fuente es transformado a programa
ejecutable
Inicio
Editar Programa
Fuente
Compilar el
Programa
Enlazador
Ejecución
Programa
Programa
Ejecutable
Existen
errores en
la
compilació
n
Modificaci
ón
Programa
Fuente
Fases de
compilació
Fortran
(1954)
Cobol
(1959)
Algol y
Lisp
(1960)
PL/1
(1964)
ADA
(1979)
FORTH
(1970)
APL
(1961)
PILOT
(1969)
BASIC
(1965)
Pascal
(1971)
Modula-2
(1980)
LOGO
(1968)
C
(1972)
• ABAP
• ABC
• ActionScript
• Afnix
• ASP
• ASP.NET
• AWK
• B
• BCPL
• Befunge
• Boo
• C++
• C#
• Caml
• Clipper
• CLIPS
• CLU
• CORAL
• D
• Delphi
• DIV
• CORAL
• D
• Delphi
• DIV
• Dylan
• Eiffel
• Erlang
• Ensamblad
or
• Extended
ML
• Euphoria
• Fénix
• Flow -Matic
• Gambas
• GML
• GRAFCET
• FP
• Haskell
• Icon
• Inform
• INTERCAL
• ISWIM
 J
 Java
 JavaScript
 Joy
 KWC
 LADDER
 Letra
 Lexico
 Lingo
 Lua
 MAGIC
 Mainsail
 Mesa
 Miranda
 ML
 Modula
 Modula-3
 Natural
 NetREXX
 Oberon
 Object REXX
 Objective -C
 Ocaml
 Occam
 Oz
 Parlog
 Perl
 PHP
 Plankalkül
 PostScript
 PowerBuilder
 Prolog
 Python
 Rapid
 REXX
 RPN
 RPG
 Ruby
 Sail
 Sather
 Scheme
 Seed7
 Self
 Sh
 Simula
 Smalltalk
 Snobol
 SPARK
 Squeak
 SR
 Standard ML
 TI-Basic
 TCL
 VBA
 Visual Basic
 Visual C++
 Visual
DialogScript
 Seed7
 Self
 Sh
 Simula
 Smalltalk
El juego de instrucciones
• Es un juego reducido de 35 instrucciones muy simples y rápidas.
• La mayoría de las instrucciones se ejecuta en 4 ciclos de reloj; los saltos se
ejecutan en 8.
• Todas las instrucciones tienen la misma longitud: 14 bits.
Instrucciones de CARGA
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
clrf f 00 (f) Z
clrw 00 (W) Z
movf f,d (f) (destino) Z
movlw k k (W) Ninguno
movwf f (W) (f) Ninguno
Instrucciones de BIT
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
bcf f,b Pone a 0 el bit ‘b’ del registro ‘f’ Ninguno
bsf f,b Pone a 1 el bit ‘b’ del registro ‘f’ Ninguno
Instrucciones ARITMÉTICAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
addlw k (W) + k (W) C – DC - Z
addwf f,d (W) + (f) (destino) C – DC - Z
decf f,d (f) - 1 (destino) Z
incf f,d (f) + 1 (destino) Z
sublw k K - (W) (W) C – DC - Z
subwf f,d (f) - (W) (destino) C – DC - Z
Instrucciones LÓGICAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
andlw k (W) AND k (W) Z
andwf f,d (W) AND (f) (destino) Z
comf f,d (/f) (destino) Z
iorlw k (W) OR k (W) Z
iorwf f,d (W) OR (f) (destino) Z
rlf f,d Rota (f) a izquierda (destino) C
rrf f,d Rota (f) a derecha (destino) C
swap f,d Intercambia nibbles (f) (destino) Ninguno
xorlw k (W) XOR k (W) Z
xorwf f,d (W) XOR (f) (destino) Z
Instrucciones de SALTO
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
btfsc f,b Salta si el bit ‘b’ de ‘f’ es 0 Ninguno
btfss f,b Salta si el bit ‘b’ de ‘f’ es 1 Ninguno
decfsz f,d (f) - 1 (destino) y salta si es 0 Ninguno
incfsz f,d (f) + 1 (destino) y salta si es 0 Ninguno
goto k Salta a la dirección ‘k’ Ninguno
Instrucciones de manejo de SUBRUTINAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
call k Llamada a subrutina Ninguno
retfie Retorno de una interrupción Ninguno
retlw k Retorno con un literal en (W) Ninguno
return Retorno de una subrutina Ninguno
Instrucciones ESPECIALES
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
clrwdt Borra Timer del Watchdog /TO - /PD
nop No operación Ninguno
sleep Entra en modo de bajo consumo /TO - /PD
El código fuente
• Está compuesto por una sucesión de líneas de programa.
• Cada línea de programa puede estar compuesta de hasta cuatro campos o
columnas separados por uno o más espacios o tabulaciones entre sí.
 Campo de etiquetas. Expresiones alfanuméricas escogidas por el usuario
para identificar una determinada instrucción del programa. Todas las
etiquetas tienen asignado el valor de la posición de memoria en la que se
encuentra la instrucción a la que acompañan.
 Campo del código de operación. Corresponde al nemónico.
 Campo de operandos y datos. Contiene los operandos que precisa el
nemónico utilizado. Según la instrucción, puede haber dos, uno o ningún
operando.
 Campo de comentarios. Dentro de una línea, todo lo que se encuentre a
continuación de un punto y coma (;) será ignorado y considerado como
comentario.
Directivas
• Controlan el proceso de ensamblado del programa, pero no son parte del
mismo (también se conocen como pseudoinstrucciones).
• Hay más de 50 directivas reconocidas por MPASM. A continuación se recogen
algunas de las más habituales
END
Es la única directiva obligatoria. Indica al ensamblador dónde debe
detener el proceso. Debe colocarse en la última línea del programa.
<etiqueta> EQU <expresión>
El valor <expresión> es asignado a <etiqueta>. Estas directivas se
suelen colocar al principio del programa y habitualmente se usan
para definir constantes y direcciones de memoria.
[<etiqueta>] ORG <expresión>
Las instrucciones del código fuente que siguen a esta directiva se
ensamblan a partir de la posición indicada por <expresión>.

Más contenido relacionado

PPTX
Guia 5 3 2015 c2
PDF
Flip flops
DOCX
Portafolio-Arquitectura de Maquinas
DOCX
Mis preguntas del blog y las ultimas .l.
PPT
Arranque de Sistema Operativo con Assembler
PDF
Programacion PRG Capitulo I
Guia 5 3 2015 c2
Flip flops
Portafolio-Arquitectura de Maquinas
Mis preguntas del blog y las ultimas .l.
Arranque de Sistema Operativo con Assembler
Programacion PRG Capitulo I

Destacado (7)

PPTX
Lenguaje máquina
PPTX
Lenguaje maquina
PPT
Lenjuage_ensamblador_UTEQ
PDF
Lenguaje maquina y lenguaje natural
PPTX
Lenguaje de máquina y lenguaje ensamblador
PPT
Lenguaje maquina
PPT
FUNCIONES LENGUAJE C
Lenguaje máquina
Lenguaje maquina
Lenjuage_ensamblador_UTEQ
Lenguaje maquina y lenguaje natural
Lenguaje de máquina y lenguaje ensamblador
Lenguaje maquina
FUNCIONES LENGUAJE C
Publicidad

Similar a Lenguaje de máquina (20)

PPT
Lenguajes De Programacion
PDF
Lenguajes y programación de robots IPN 2
DOC
A L G U N O S C O M P I L A D O R E S
PPT
Informacion sobre los compiladores y sus funciones
PDF
Compiladores deber 5
PPT
Organizacion de la unidad central de procesamiento
PPTX
lenguaje de Programacion
PPTX
Resolución de problemas de algoritmo.
PPTX
PDF
Estructura general de un programa en lenguaje C
PDF
Estructura general de un programa en lenguaje´´c´´ y sus variables
PPTX
Programacion web introduccion diego zuluaga
PPT
T 25
PPT
T 25
PPT
T 25
PPT
Jin Unidad 1
PDF
1___LENGUAJES DE PROGRAMACION_2023.pdf
PDF
Estructura ensamblador
PDF
Estructura ensamblador
Lenguajes De Programacion
Lenguajes y programación de robots IPN 2
A L G U N O S C O M P I L A D O R E S
Informacion sobre los compiladores y sus funciones
Compiladores deber 5
Organizacion de la unidad central de procesamiento
lenguaje de Programacion
Resolución de problemas de algoritmo.
Estructura general de un programa en lenguaje C
Estructura general de un programa en lenguaje´´c´´ y sus variables
Programacion web introduccion diego zuluaga
T 25
T 25
T 25
Jin Unidad 1
1___LENGUAJES DE PROGRAMACION_2023.pdf
Estructura ensamblador
Estructura ensamblador
Publicidad

Último (20)

DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
TOMO II - LITERATURA.pd plusenmas ultras
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
DI, TEA, TDAH.pdf guía se secuencias didacticas
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
Punto Critico - Brian Tracy Ccesa007.pdf
ciencias-1.pdf libro cuarto basico niños
PLAN DE CASTELLANO 2021 actualizado a la normativa
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
V UNIDAD - PRIMER GRADO. del mes de agosto
PLANES DE área ciencias naturales y aplicadas
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf

Lenguaje de máquina

  • 2. • Los diseños para los lenguajes de programación han ido evolucionando desde que aparecieron los lenguajes de alto nivel que en su momento eran los de mayor demanda pero que sin embargo eran muy complejos de desarrollar, esto data de los años 1950. Ya en la década de 1970 se realizan nuevos lenguajes de programación tales como: Ada, C, Pascal, Prolog y Smaltalk y los lenguajes de programación como C++ y ML de los años ochenta.
  • 3. • Lenguajes basados en cálculos numéricos. • Lenguajes para negocios. • Lenguajes para inteligencia artificial. • Lenguajes para sistemas
  • 4. • Según Joyanes (2003), FORTRAN se empleaba para cómputo científico, el lenguaje más utilizado en cuanto a negocios eran escritos en COBOL, las aplicaciones militares en JOVIAL y las militares incrustadas en ADA, pero de todos los lenguajes que habían en los años 1960 ya no queda ninguno pues con las evoluciones que han adquirido han ido descartando lenguajes de difícil manejo.
  • 5. • Lenguajes de Máquina: – Lenguaje directamente inteligibles por la máquina ya que sus instrucciones son cadenas binarias. • Lenguajes de Bajo Nivel o Ensamblador (Assembler): – Permiten crear programas muy rápidos, pero que son a menudo difíciles de aprender. • Lenguajes de Alto Nivel: – Son los más utilizados por lo programadores y por cualquier persona.
  • 6. • Intérpretes: – Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta • Compiladores: – Es aquel programa que traduce un programa en lenguaje de alto nivel. – Fases de compilación; proceso por el cual el programa fuente es transformado a programa ejecutable
  • 9. • ABAP • ABC • ActionScript • Afnix • ASP • ASP.NET • AWK • B • BCPL • Befunge • Boo • C++ • C# • Caml • Clipper • CLIPS • CLU • CORAL • D • Delphi • DIV • CORAL • D • Delphi • DIV • Dylan • Eiffel • Erlang • Ensamblad or • Extended ML • Euphoria • Fénix • Flow -Matic • Gambas • GML • GRAFCET • FP • Haskell • Icon • Inform • INTERCAL • ISWIM  J  Java  JavaScript  Joy  KWC  LADDER  Letra  Lexico  Lingo  Lua  MAGIC  Mainsail  Mesa  Miranda  ML  Modula  Modula-3  Natural  NetREXX  Oberon  Object REXX  Objective -C  Ocaml  Occam  Oz  Parlog  Perl  PHP  Plankalkül  PostScript  PowerBuilder  Prolog  Python  Rapid  REXX  RPN  RPG  Ruby  Sail  Sather  Scheme  Seed7  Self  Sh  Simula  Smalltalk  Snobol  SPARK  Squeak  SR  Standard ML  TI-Basic  TCL  VBA  Visual Basic  Visual C++  Visual DialogScript  Seed7  Self  Sh  Simula  Smalltalk
  • 10. El juego de instrucciones • Es un juego reducido de 35 instrucciones muy simples y rápidas. • La mayoría de las instrucciones se ejecuta en 4 ciclos de reloj; los saltos se ejecutan en 8. • Todas las instrucciones tienen la misma longitud: 14 bits. Instrucciones de CARGA NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS clrf f 00 (f) Z clrw 00 (W) Z movf f,d (f) (destino) Z movlw k k (W) Ninguno movwf f (W) (f) Ninguno
  • 11. Instrucciones de BIT NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS bcf f,b Pone a 0 el bit ‘b’ del registro ‘f’ Ninguno bsf f,b Pone a 1 el bit ‘b’ del registro ‘f’ Ninguno Instrucciones ARITMÉTICAS NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS addlw k (W) + k (W) C – DC - Z addwf f,d (W) + (f) (destino) C – DC - Z decf f,d (f) - 1 (destino) Z incf f,d (f) + 1 (destino) Z sublw k K - (W) (W) C – DC - Z subwf f,d (f) - (W) (destino) C – DC - Z
  • 12. Instrucciones LÓGICAS NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS andlw k (W) AND k (W) Z andwf f,d (W) AND (f) (destino) Z comf f,d (/f) (destino) Z iorlw k (W) OR k (W) Z iorwf f,d (W) OR (f) (destino) Z rlf f,d Rota (f) a izquierda (destino) C rrf f,d Rota (f) a derecha (destino) C swap f,d Intercambia nibbles (f) (destino) Ninguno xorlw k (W) XOR k (W) Z xorwf f,d (W) XOR (f) (destino) Z
  • 13. Instrucciones de SALTO NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS btfsc f,b Salta si el bit ‘b’ de ‘f’ es 0 Ninguno btfss f,b Salta si el bit ‘b’ de ‘f’ es 1 Ninguno decfsz f,d (f) - 1 (destino) y salta si es 0 Ninguno incfsz f,d (f) + 1 (destino) y salta si es 0 Ninguno goto k Salta a la dirección ‘k’ Ninguno Instrucciones de manejo de SUBRUTINAS NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS call k Llamada a subrutina Ninguno retfie Retorno de una interrupción Ninguno retlw k Retorno con un literal en (W) Ninguno return Retorno de una subrutina Ninguno
  • 14. Instrucciones ESPECIALES NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS clrwdt Borra Timer del Watchdog /TO - /PD nop No operación Ninguno sleep Entra en modo de bajo consumo /TO - /PD
  • 15. El código fuente • Está compuesto por una sucesión de líneas de programa. • Cada línea de programa puede estar compuesta de hasta cuatro campos o columnas separados por uno o más espacios o tabulaciones entre sí.  Campo de etiquetas. Expresiones alfanuméricas escogidas por el usuario para identificar una determinada instrucción del programa. Todas las etiquetas tienen asignado el valor de la posición de memoria en la que se encuentra la instrucción a la que acompañan.  Campo del código de operación. Corresponde al nemónico.  Campo de operandos y datos. Contiene los operandos que precisa el nemónico utilizado. Según la instrucción, puede haber dos, uno o ningún operando.  Campo de comentarios. Dentro de una línea, todo lo que se encuentre a continuación de un punto y coma (;) será ignorado y considerado como comentario.
  • 16. Directivas • Controlan el proceso de ensamblado del programa, pero no son parte del mismo (también se conocen como pseudoinstrucciones). • Hay más de 50 directivas reconocidas por MPASM. A continuación se recogen algunas de las más habituales END Es la única directiva obligatoria. Indica al ensamblador dónde debe detener el proceso. Debe colocarse en la última línea del programa. <etiqueta> EQU <expresión> El valor <expresión> es asignado a <etiqueta>. Estas directivas se suelen colocar al principio del programa y habitualmente se usan para definir constantes y direcciones de memoria. [<etiqueta>] ORG <expresión> Las instrucciones del código fuente que siguen a esta directiva se ensamblan a partir de la posición indicada por <expresión>.