Introducción al Lenguaje Ensamblador


slide_16

@rleon1961

Definición

 El lenguaje ensamblador, o assembler, es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables.

El Lenguaje ensamblador se utiliza principalmente para el control de procesos y adquisición de datos que requieren un manejo intenso de el hardware directamente.

El rápido crecimiento del Internet de las Cosas , los Drones y su instrumentación, el desarrollo de la Domotica, así como la necesidad de la adquisición de más y mejores datos del mundo llevan a una gran demanda del uso de los microprocesadores y con ellos conocer el lenguaje ensamblador que cada familia de microprocesadores tienen.

Una muestra de la vigencia de dicho lenguaje es la creación del curso COMP1917 de la Universidad de New South Wales, al grado de crear un microprocesador hipotético, el 4917 con las siguientes características:

https://www.flagsoft.com/cmswp/wp-content/uploads/2012/10/ipad-1024x768-iOS-Simulator-Screen-shot-17.12.2013-19.48.54.png

Tiene 2 registros de uso general: R0 y R1

Tiene 16 localidades de memoria

y tiene dos registros de control:

IP (Instruction Pointer): Apunta a la siguiente localidad de memoria que se ejecutará

IS (Instruction Set): La siguiente instrucción que se va a ejecutar.

y un conjunto (Set) de instrucciones muy reducidos:

1-byte Instructions

0 = Halt

1 = Suma (R0 = R0 + R1)

2 = Resta (R0 = R0 – R1)

3 = Incrementa R0 (R0 = R0 + 1)

4 = Increment aR1 (R1 = R1 + 1)

5 = Decrementa R0 (R0 = R0 – 1)

6 = Decrementa R1 (R1 = R1 – 1)

7 = Timbre

2-byte Instructions, el valor del 2do byte es llamado <data>

8 = Imprime <data>

9 = Carga el valor de la dirección  <data> en  R0

10 = Carga el valor de la dirección  <data> en  R1

11 = Guarda R0 en la dirección <data>

12 = Guarda R1 en la dirección  <data>

13 = Salta a la dirección <data>

14 = Salta a la dirección  <data>  si R0 == 0

15 = Salta a la dirección <data>   si  R0 != 0

Extended Instruction Codes

20 = NOP (Ninguna Operación)

50 = Encender LED

51 = Apagar LED

71 = Vibrar

La aplicación se encuentra disponible para bajar desde Apple Store

Un ejemplo que esta disponible para Demo es:

8, 0         ;Imprime 0 (Instrucción de 2 bytes)

3  ; 3        ;Incrementa R0 (R0 = R0 + 1)

11, 1        ;Guarda R0 en la dirección  1

15, 0       ;Salta a la dirección 0, si R0 != 0

 0            ; Alto (Halt)

Existen varias alternativas para entrar a este fabuloso mundo de los Microprocesadores, 2 de las cuales se discute mucho son los fabricados por Microchip y los fabricados por Atmel .

Para el mundo de computo los lideres son Intel y AMD

Un video interesante para tener una idea del “hombre en la caja” es:

¿Con cual proyecto iniciar?

¿Cual es la primer habilidad que se debe desarrollar en el mundo de los Microprocesadores?

Saludos

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s