===== Introducción a la Arquitectura ARM, instrucciones ensamblador (Raspberry Pi)===== {{ :kisspng-raspberry-pi-clip-art-sugar-logo-computer-icons-5bf78320c77f09.4425010015429476168171.jpg?200|}} El minicomputador Raspberry Pi 3 es una computadora del tamaño de una tarjeta de crédito cuyo objetivo principal según sus creadores, [[https://www.raspberrypi.org/|la Fundación Raspberry Pi]], era promover la enseñanza de conceptos básicos de informática en los colegios e institutos. Sin embargo, ha terminado convirtiéndose también en un pequeña computadora de bajo costo que se destina a muy diversos usos: servidor multimedia conectado al televisor, estación base para domótica en el hogar, servidor de seguridad de camaras ip, clusters, estaciones meteorológicas, servidor de discos en red para copias de seguridad, o como una simple computadora que puede ejecutar aplicaciones de internet, juegos, ofimática, etc. {{ :raspberry-pi-3-flat-top.jpg?600 |}} ===== Clase 20arm - Arquitectura ARM ===== [[Arquitectura ARM: Componentes físicos. Registros, flags, pila. Direcciones de memoria lógicas y físicas.]] ===== Clase 21arm - Lenguaje Ensamblador ===== Código máquina, formato de instrucciones. Lenguaje ensamblador. Ensamblado y vinculación. Ejemplos ARM * [[codigo_maquina_formato_de_instrucciones._lenguaje_ensamblador._ensamblado_y_vinculacion._ejemplos_arm|Lenguaje Ensamblador]] * [[arm_aspectoprog|Aspecto de un programa en Ensamblador]] * [[arm_intro_instrucc|Formato de las instrucciones de Ensamblador ARM]] * [[arm_tipodatos|Tipos de Datos]] ===== Clase 22arm - Instrucciones Movimiento Datos ===== [[arm_inst_mov|Instrucciones movimiento datos (equivalentes a mov, instrucciones push y pop, pushf y popf)]] ===== Clase 23arm - Instrucciones aritméticas ===== [[arm_addsubcmp|Instrucciones aritméticas (equivalentes a add, sub, cmp, inc, dec, adc, sbb)]] ===== Clase 24arm - Producto y División ===== [[arm_inst_mul|Instrucciones aritméticas (equivalentes a producto y división sin signo, mul y div)]] ===== Clase 25arm - Instrucciones Lógicas ===== [[arm_inst_logicas|Instrucciones lógicas (equivalentes a AND, TEST, OR, XOR, NOT, NEG. Desplazamientos y rotaciones)]] ===== Clase 26arm - Instrucciones de Control de Flujo ===== [[arm_solosaltos|Instrucciones de control de flujo: Saltos incondicionales, saltos condicionales.]] ===== Clase 27arm - Procedimientos e Interrupciones ===== [[arm_saltos|Instrucciones de control de flujo: Procedimientos (equivalentes a CALL y RET)]] [[arm_interrupciones|Interrupciones]] ===== Clase 28arm - De Alto Nivel a Assembler ===== [[arm_equivalencias|Mapeo de instrucciones de lenguajes de alto nivel a assembler: if then else, while, case.]] ===== Clase 29arm - Modos de direccionamiento ===== [[arm_direccionamiento| Modos de Direccionamiento ]] ---- ===== ¿Cómo se codifican las instrucciones en ARM? ¿Cual es el tamaño máximo de los inmediatos? ===== {{youtube>cHXubVOwX3Q?large}}