# data[].attributes.body
El ensamblador es un lenguaje de bajo nivel que permite un control directo de la CPU y todos los elementos asociados. Cada línea de un programa ensamblador consta de una instrucción del procesador y la posición que ocupan los datos de esa instrucción.

# data[].attributes.body
Como trabaja directamente con el procesador al ejecutar un programa la computadora lo procesa más rápido.

Mayor control sobre el hardware de la computadora.

Flexibilidad, en el lenguaje ensamblador se pueden realizar tareas que un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite.

# data[].attributes.headline
3 tipos de situaciones por el cual sirve de apoyo en lenguajes de alto nivel.

# data[].attributes.subject
3 tipos de situaciones por el cual sirve de apoyo en lenguajes de alto nivel.

# data[].attributes.body
- Operaciones que se repiten un número alto de veces.
- Para la utilización y aprovechamiento de dispositivos y recursos del sistema.
- Cuando se requiera una gran velocidad de procesos.

# data[].attributes.body
Tiempo de programación, como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso. Por otro lado, requiere más cuidado del programador, pues es propenso a que los errores de lógica se reflejen en la ejecución.

No existe una sintaxis estandarizada.

Programas fuentes grandes, simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.

Peligro de afectar recursos inesperadamente. Que todo error que podamos cometer o todo riesgo que podamos tener, puede afectar los recursos de la máquina.

Falta de portabilidad, porque para cada máquina existe un lenguaje ensamblador.

# data[].attributes.body
El ensamblador reconoce un conjunto de tipos de datos internos básicos (tipos de datos intrínsecos), de acuerdo con el tamaño de los datos (bytes, palabras, palabras dobles, etc.), ya sea con signo, entero o número real para describir su tipo.

# data[].attributes.body
Un fichero ejecutable contiene el programa traducido más una serie de códigos que debe tener todo programa que vaya a ser ejecutado en una máquina determinada. Entre estos códigos comunes se encuentran las librerías del lenguaje. El encargado de unir el código del programa con el código de estas librerías es un programa llamado montador (linker) que genera el programa ejecutable, asi como en la imagen.

# data[].attributes.body
Como las etiquetas se pueden ubicar tanto en la sección de datos como en la de código, la versatilidad que nos dan las mismas es enorme. En la zona de datos, las etiquetas pueden representar variables, constantes y cadenas. En la zona de código podemos usar etiquetas de salto, funciones y punteros a zona de datos.

# data[].attributes.body
Es una arquitectura RISC (Reduced Instruction Set Computer u Ordenador con un Conjunto Reducido de Instrucciones en español) de 32 y 64 bits desarrollada por ARM Holdings que generalmente se usa en unidades independientes.
Gracias a la arquitectura ARM podemos tener dispositivos de pequeño tamaño y bajo consumo, con la arquitectura ARM se fabrican microprocesadores de todo tipo para dispositivos que usamos en el día a día y que no requieren de un gran procesamiento de datos

# data[].attributes.headline
¿Cómo podemos empezar a trabajar desde casa?

# data[].attributes.subject
¿Cómo podemos empezar a trabajar desde casa?

# data[].attributes.body
1. Descargamos el emulador QEMU desde aquí: http://lassauge.free.fr/qemu/

2. Descarga un kernel de Linux

Vaya al siguiente sitio web https://github.com/dhruvvyas90/qemu-rpi-kernel y descargue un kernel adecuado, p. Ej. kernel-qemu-4.4.34-jessie

Coloque el archivo del kernel en una carpeta,  Ej. D: /Temp/raspbian/kernel-qemu-4.4.34-jessie

3. Descargar una imagen del sistema operativo Raspbian

1. Vaya al siguiente sitio web http://downloads.raspberrypi.org/raspbian/images/ y descargue la última imagen, p.Ej.2019-06-20-raspbian-buster.zip

2. Descomprima el archivo de imagen en una carpeta, p.Ej./Temp/raspbian/2019-06-20-raspbian-buster.img

4. Crear un archivo bat de Windows

Ejecute un editor de texto.

Escriba las siguientes líneas. NOTA cambie el nombre del kernel y de los archivos de imagen (kernel-qemu-4.4.34-jessie) para que coincidan con los nombres de los archivos descargados.

"c:\Program Files\qemu\qemu-system-arm.exe" ^
-kernel kernel-qemu-4.4.34-jessie ^
-cpu arm1176 ^
-m 256 ^
-M versatilepb ^
-serial stdio ^
-append "root=/dev/sda2 rootfstype=ext4 rw" ^
-hda 2019-06-20-raspbian-buster.img ^
-net nic ^
-net user,hostfwd=tcp::5022-:22 ^
-no-reboot

Guardar como un archivo bat, p. Ej. run_raspbian.bat y cierre el editor.

5. Ejecutar QEMU

Abre un símbolo del sistema.

Cambie el directorio a la carpeta que contiene el núcleo y los archivos de imagen, cambie la ruta segun sea pertinente Escriba el comando:

C:\> run_raspbian.bat

Aparece la ventana QEMU ejecutando Raspbian OS