SlideShare una empresa de Scribd logo
23/07/15 Profesor Pedro Contreras Flores 1
Arranque de un Sistema Operativo
mediante Lenguaje Assembler
Universidad de Atacama
Facultad de Ingeniería
DIICC
23/07/15 Profesor Pedro Contreras Flores 2
Temario
1. Introducción
 Sistemas Operativos
 Lenguaje ensamblador y programación
2. Sectores de arranque
 Estructura
 Funcionamiento
3. Caso Práctico
4. Conclusiones
23/07/15 Profesor Pedro Contreras Flores 3
Introducción
Parte 1
23/07/15 Profesor Pedro Contreras Flores 4
Conocimientos previos
 Unidades de información
 Celdas especiales (registros), de 6 a 8 flip-flops
(almacena niveles de voltaje 0.5 volts a 5 volees ),
Bits (binary digits), nibbles (4 bits), byte (8 bits),
palabra (16 bits)
 RAM, ROM
 Sistemas numéricos
 Decimal, Binario, Hexadecimal
 Texto, digitos, punto flotante
 ASCII, Método BCD
 Arquitectura Van Newman
 Software, hardware, firmware, middleware
 Cpu y registros internos
23/07/15 Profesor Pedro Contreras Flores 5
Funcionamiento de un S.O.
Programa que supervisa el funcionamiento
de otros programas y que controla el uso del
hardware
Tareas
 Administra memoria
 Administrar CPU (procesador)
 Administrar dispositivos de ES
 Administrar información (datos)
 Administrar comunicación con operador
Tipos
 Monoprogramables, Multiprogramables,
Tiempo Compartido, Multiprocesamiento.
23/07/15 Profesor Pedro Contreras Flores 6
Integración
USUARIO
APLICACIONES
SISTEMAS OPERATIVOS
HARDWARE
Resultado Ordenes
Respuestas Requerimientos
Respuestas Instrucciones
23/07/15 Profesor Pedro Contreras Flores 7
Ejemplo de Microprocesadores Intel
 Microprocesador 4004
 Microprocesador 8008
 Microprocesador 8080
 Microprocesador 8085
 Microprocesadores 8086 y 8088
 Coprocesador matemático 8087
 Microprocesadores 80186 y 80188
 Coprocesador matemático 80C187
 Microprocesador 80286
 Coprocesador matemático 80287
 Microprocesador 80386
 Coprocesador matemático 80387
 Microprocesador 80486
 Microprocesador Pentium
23/07/15 Profesor Pedro Contreras Flores 8
Estructura del i8086
 El Microprocesador 8086 tiene catorce registros de 16 bits.
Dichos registros son:
 Registros de datos
 Registros de segmento
 Registros de punteros de pila
 Registros índices
 Registro de puntero de instrucciones
 Registro de flags de instrucciones
23/07/15 Profesor Pedro Contreras Flores 9
Banco de Registros
 Registros de Datos
 AX acumulador (AL , AH)
 BX registro base ()(
 CX registro contador
 DX registro de datos
 Punteros
 SP Puntero de pila
 BP Puntero base de pila
 SI registro índice fuente
 DI registro índice destino
 IP Contador de programa, apuntador de siguiente instrucción
 DS registro del segmento de datos
 ES registro del segmento extra
 SS registro del segmento de pila
 CS Registro del segmento de código
 NV, EI, PL, NZ, NA, PO, NC, DB
 F registro de banderas
23/07/15 Profesor Pedro Contreras Flores 10
Estructura de un programa en
ensamblador
DOSSEGDOSSEG
.MODEL SMALL.MODEL SMALL
.STACK 100H.STACK 100H
.DATA.DATA
.CODE.CODE
MOV AX, @DATAMOV AX, @DATA
MOV DS, AXMOV DS, AX
MOV AH,4CHMOV AH,4CH
INT 21HINT 21H
ENDEND
PREPARACION DEL PROGRAMA PARA
TRABAJAR CON EL MS-DOS
MODO DE CREACION DEL EJECUTABLE
DEFINICION DE LA PILA
DEFINICION DE LOS DATOS DEL PROGRAMA
INFORMACION DEL LUGAR EN EL QUE SE
ENCUENTRAN LOS DATOS
INSTRUCCIONES DEL PROGRAMA
INFORMACION AL SISTEMA OPERATIVO DE
QUE EL PROGRAMA HA FINALIZADO
FINAL DEL FICHERO FUENTE
23/07/15 Profesor Pedro Contreras Flores 11
Pasos para crear un fichero ejecutable
 Programación
 Los programas deben escribirse en un de texto ASCII u otro editor
 El nombre del fichero debe tener como extensión ASM
 Para ensamblar el fichero se debe teclear en línea de ordenes
 MASM NombreFichero.ASM
 Si no se producen errores, se debe enlazar tecleando en la línea de
órdenes:
 LINK NombreFichero.OBJ
23/07/15 Profesor Pedro Contreras Flores 12
Tipos de instrucciones
Tipo de instrucciónTipo de instrucción EfectoEfecto
Instrucciones de transferencia Mueven información entre registros,
registros y posiciones de memoria, o
entre registros y puertos de
entrada/salida
Instrucciones aritméticas Realizan operaciones aritméticas: sumas,
restas, etc.
Instrucciones de manejo de bits Realizan operaciones de desplazamiento,
rotación y lógicas sobre registros o
posiciones de memoria
Instrucciones de transferencia de control Sirven para controlar la ejecución de las
instrucciones del programa
Instrucciones de entrada y salida Mueven información entre registros y
puertos de entrada/salida
Instrucciones de manejo de cadenas Realizan operaciones entre sobre cadena
de bytes o palabras
Instrucciones de interrupción Provocan que el microprocesador realice
un servicio que se le solicita diferente a
las instrucciones que esta ejecutando
23/07/15 Profesor Pedro Contreras Flores 13
Instrucciones de transferencia de datos
•Nombre: MOV
•Formato: MOV destino, origen
•Descripción: Transfiere un byte o una palabra
desde el operando origen al operando destino.
•Ejemplos:
•MOV CX, 112h ;CX=112h
•MOV ES, AX ;ES=AX
•MOV AL, 12h ;AL=12h
•MOV PAL_MEM, BX ;PAL_MEM=BX
•Nombre: POP
•Formato: POP destino
•Descripción: Transfiere un byte o una palabra
desde la cima de la pila al operando destino y luego
decrementa la pila en 2.
•Ejemplos:
•POP BX ;Pone en BX el contenido
;de la cima de la pila
•Nombre: PUSH
•Formato: PUSH origen
•Descripción: Decrementa el puntero de la pila (SP)
en 2 y luego transfiere la palabra que se ha
especificado en el operando origen a lo alto de la
pila.
•Ejemplos:
•PUSH BX ;Pone BX en la pila
23/07/15 Profesor Pedro Contreras Flores 14
Instrucciones aritméticas (I)
•Nombre: ADD
•Formato: ADD destino, origen
•Descripción: Suma los dos operandos y el
resultado lo deja en el operando destino. Los
operandos deben ser del mismo tipo.
•Ejemplos:
•ADD CL, BL ;CL=CL+BL
•ADD AL, 12h ;AL=AL+12h
•ADD CX, DX ;CX=CX+DX
•Nombre: ADC
•Formato: ADC destino, origen
•Descripción: Suma los dos operandos más el posible
acarreo de la operación anterior. El resultado se
almacena en el operando destino. Además los
operandos deben ser del mismo tipo. Ejemplos:
•ADC CL, BL ;CL=CL+BL+CF
•ADC AL, 12h ;AL=AL+12h+CF
•ADC CX, DX ;CX=CX+DX+CF
•Nombre: SUB
•Formato: SUB destino, origen
•Descripción: Resta el operando origen del
operando destino. El resultado se almacena en el
operando destino y además, ambos operandos
deben ser del mismo tipo.
•Ejemplos:
•SUB CL, BL ;CL=CL-BL
•SUB AL, 12h ;AL=AL-12h
•SUB CX, DX ;CX=CX-DX
•Nombre: SBB
•Formato: SBB destino, origen
•Descripción: Resta el operando origen del
operando destino. Resta uno si el flag de acarreo
está activo. Los operandos deben ser del mismo
tipo. El resultado se almacena en el operando
destino.
•Ejemplos:
•SBB CX, DX ;CX=CX-DX-CF
23/07/15 Profesor Pedro Contreras Flores 15
Instrucciones aritméticas (II)
•Nombre: MUL
•Formato: MUL origen
•Descripción: Multiplica, sin considerar el signo el
acumulador (AL o AX) por el operando origen. Si el
operando origen es de tipo byte el resultado se
almacena en AX. Si es de tipo palabra se almacena
en DX (palabra superior) y AX (palabra inferior).
•Ejemplos:
• ;AX=1234h
• ;BX=1000h
•MUL BX ;DX=0123h, AX=4000h
•Nombre: IMUL
•Formato: IMUL origen
•Descripción: Multiplica, considerando el signo, el
acumulador AL o AX por el operando origen. Si el
operando fuente es un byte se almacena el resultado
en AX. Si se trata de una palabra, se almacena en DX
(palabra superior) y AX (palabra inferior).
•Ejemplos:
• ;AL=FEh=-2
• ;BL=12h=18
•IMUL BX ;AX=FFDCh=-36
•Nombre: DIV
•Formato: DIV origen
•Descripción: Divide, sin considerar el signo, el
acumulador (AL o AX) y su extensión (AH o DX) por
el operando origen. El resultado se almacena en AL
o AX, según el operando sea de un byte o de una
palabra. El resto se almacena en la extensión del
acumulador AH o DX.
•Ejemplos:
• ;AX=0013h=19
• ;BL=02h=2
•DIV BL ;AH=1, AL=9
•Nombre: IDIV
•Formato: IDIV origen
•Descripción: Divide, considerando el signo, el
acumulador AL o AX y su extensión (AH o DX) por
el operando origen. El resultado se almacena en AL
o AX, según el operando sea de un byte o de una
palabra. El resto se almacena en la extensión del
acumulador AH o DX.
•Ejemplos:
• ;AX=FFEDh=-19
• ;BL=02h=2
•IDIV BL ;AH=1, AL=F7h=-9
23/07/15 Profesor Pedro Contreras Flores 16
Instrucciones aritméticas (III)
•Nombre: INC
•Formato: INC destino
•Descripción: Suma una unidad al operando
destino. El operando puede ser de tipo byte o
palabra.
•Ejemplos:
• ;AX=1234h
•INC AX ;AX=1235h
•INC AH ;AH=13h
•Nombre: DEC
•Formato: DEC destino
•Descripción: Resta una unidad al operando
destino. El operando puede ser de tipo byte o
palabra.
•Ejemplos:
• ;AX=1234h
•DEC AX ;AX=1233h
•DEC AH ;AH=11h
•Nombre: NEG
•Formato: NEG destino
•Descripción: Cambia de signo mediante el
complemento a 2 del operando destino. Deja el
resultado en el operando destino. El operando
puede ser de tipo byte o palabra.
•Ejemplos:
•NEG AL ;Si AL=F2h antes de la operación,
después AL=0Eh
23/07/15 Profesor Pedro Contreras Flores 17
Editores-Compiladores-Enlazadores
Editores-Compiladores-EnlazadoresEditores-Compiladores-Enlazadores Sistema OperativoSistema Operativo
Debug de windows Windows
MASM32 V8, Macro Assembler Microsoft Windows
Batronix Prog-Studio 5.2 Windows
MPL V 1.02.00 Windows
Negatory Assembly Studio 2.0 (ml, link y rc) Windows
MiniIDE V1.16 Windows/Linux
VNBasm4 Windows
Turbo Assembler Windows
Power Assembler 32 1.2 Windows
Small Memory Footprint Editor 3.0b Windows
G C C 3.3.3 Linux
Xebot 0.8.00 Linux
23/07/15 Profesor Pedro Contreras Flores 18
Primer programa
 Este ejemplo realizara una suma de dos valores que se
introducirá directamente desde el programa
 Pasos:
 Debug
 Comando “a”, indica inicio de assembler
 Solo se comprueba valor de inicio (0100H) de aplicación .COM por
lo tanto se omite ingreso
 Luego se puede comenzar a ingresar las instrucciones , después de
ingresar “a0100” al debug
 “int 20” no es una instrucción propia de assembler sino de la cpu
23/07/15 Profesor Pedro Contreras Flores 19
Guardar y editar Primer Programa
 “h 10a 100” obtiene la
suma y resta de
direcciones, donde 10a
es la direccion final y 100
es la direccion inicial
 “n prueba.com” permite
colocar el nombre al
programa
 “rcx” permite cambiar el
tamaño del programa en
registro CX a 00a (10
bytes) (resta de
direcciones)
 “w” escribe programa en
el disco, indicando
tamaño escrito.
23/07/15 Profesor Pedro Contreras Flores 20
Condiciones, ciclos y bifurcaciones
loop
23/07/15 Profesor Pedro Contreras Flores 21
Condiciones, ciclos y bifurcaciones
jnz
23/07/15 Profesor Pedro Contreras Flores 22
Condiciones, ciclos y bifurcaciones
jcxz y jmp
23/07/15 Profesor Pedro Contreras Flores 23
Interrupciones
 Las interrupciones son
mensajes que los
dispositivos de e/s
envían a la CPU
indicando un estado y la
necesidad de un recurso
 Tipos de interrupciones
 Internas de hw
 Externas de hw
 De sw
 Cada interrupción tiene
diferentes funciones
23/07/15 Profesor Pedro Contreras Flores 24
Sector de Arranque de un
S.O.
Parte 2
23/07/15 Profesor Pedro Contreras Flores 25
Arranque de SO
 Existen 2 maneras de arrancar el sistema: en
frío o en caliente.
 En Frío: está apagado y lo arrancamos con el
'ON'. Cachea los dispositivos de entrada y de
salida, teclado, monitor, discos duros,
disquetes, memoria (RAM), etc. Después
busca el S.O. y lo carga, primero mira en la
disquetera y si hay disquete con sistema
operativo lo arranca; después mira el disco
duro.
 En Caliente: Se ejecuta apagando el
ordenador con el botón reset o con
Ctrl+Alt+Supr. No se hacen todos los test
anteriores y se carga directamente del S.O.,
suele emplearse tras caídas del sistema
operativo o bloqueo del ordenador.
23/07/15 Profesor Pedro Contreras Flores 26
Estructura del disco
23/07/15 Profesor Pedro Contreras Flores 27
Estructura de MBR
 MBR – Master Boot Record
 Sector físico de 512 bytes almacenado en el cilindro 0, cabeza 0,
sector 1.
 Sólo se ejecuta el MBR del Primary Master Disk. De este disco se
realiza el booteo.
 Se diferencian dos partes del MBR:
 Master Boot Code (MBC)
 Tabla de particiones
 Sólo puede modificarse con determinados utilitarios (fdisk,
Partition Magic, fips,etc).
 Como se utiliza el MBR
 Como última acción, el BIOS lee el primer sector de la unidad de
booteo, lo valida y ejecuta.
 Si es un diskette, este sector es un PBS (Partition Boot Sector).
 Si es un HD, el sector es un MBR. Luego:
 Se ejecuta el MBC: busca una partición marcada como booteable
(activa).
 Si la ejecución es exitosa, salta al cilindro, cabeza y sector de esa
partición y carga el PBS en memoria, lo valida y ejecuta.
23/07/15 Profesor Pedro Contreras Flores 28
Particiones
 Límite de 4 particiones primarias.
 Es posible crear más de 4 utilizando particiones
extendidas:
 Simula una unidad física
 Posee su propia tabla de particiones LOGICAS
 Las particiones lógicas se almacenan en forma
contigua (enlazadas)
 Límite de 15 particiones para discos SCSI y 63 para
discos IDE
23/07/15 Profesor Pedro Contreras Flores 29
Gestores de arranque (bootloader)
 Es una programa que se encuentra en el sector de
arranque de la partición primaria que esta activa o
en el MBR
 Gestores de arranque populares en GNU/Linux
:LILO (LInux LOader), GRUB(Grand Unified
Bootloader)
 Otros ejemplos de bootloaders son BootMagic,
BootStar, Ranish Partition Manager, etc.
 LILO puede arrancar otros SO aparte de GNU/Linux
 LILO puede instalarse en un sector de arranque de
una partición extendida
23/07/15 Profesor Pedro Contreras Flores 30
Partes de MBR
 Master Boot Code
 Los primeros bytes del MBR corresponden al MBC.
 Es un pequeño código que permite la carga del sistema operativo.
 Incluye los siguientes mensajes de error:
 Error loading operating system
 Missing operating system
 Tabla de particiones
 Se ubica a partir del byte 446 dentro del MBR.
 Es de 64 bytes. A continuación se dispone de dos bytes más.
 Cada entrada es de 16 bytes. Los campos reelevantes en cada entrada
son:
 Indicador de booteo
 comienzo de la partición
 ID de sistema
 final de la partición
 Otros
23/07/15 Profesor Pedro Contreras Flores 31
Partition Boot Sector
 Generalmente de 512 bytes.
 Situado en el primer sector de
cada partición.
 Si reside en una partición
booteable, contiene los datos
necesarios para cargar el SO.
 Depende del SO
 Su estructura es similar al MBR.
Mantiene un código ejecutable
e información de la partición.
 Almacena los siguientes
errores:
 Non-system disk or disk
error
 Replace and press any key
when ready
23/07/15 Profesor Pedro Contreras Flores 32
Caso Practico: Arranque de
SO en disquete
Parte 3
23/07/15 Profesor Pedro Contreras Flores 33
Caso Práctico
 Compilar con MASM 5.0, luego el LINK y ejecuta el
fichero.exe obtenido.
 Este programa es para diskette y puede ser adaptado a
disco duro
 Este ejemplo protege el disco duro en todo momento
para no perder la información
 El sistema de archivos que utiliza es FAT
23/07/15 Profesor Pedro Contreras Flores 34
Caso Práctico
23/07/15 Profesor Pedro Contreras Flores 35
Caso Práctico
23/07/15 Profesor Pedro Contreras Flores 36
Caso Práctico
23/07/15 Profesor Pedro Contreras Flores 37
Caso Práctico
 … y más codigo…
 Resultados
23/07/15 Profesor Pedro Contreras Flores 38
Caso Práctico
 Resultados
23/07/15 Profesor Pedro Contreras Flores 39
Conclusiones
Parte 4
23/07/15 Profesor Pedro Contreras Flores 40
Conclusiones
 Ventajas
 Conocimiento a fondo del computador
 Control total del computador
 Aplicaciones más rápidas, compactas
 Optimización en tamaño y ejecución de programas
 Desventajas
 Difícil de conocer todas las instrucciones existentes
 Aumenta el tiempo de programación
 Problemas de compatibilidad con el hardware
 Modificaciones de instrucciones según compilador
23/07/15 Profesor Pedro Contreras Flores 41
Conclusiones
 Limitaciones
 Primer paso solo arranca desde diskette
 Dependencia de Sistema de archivos
 Trabajos futuros
 Realizar modificaciones para arranque desde HD
 Definir sistema de archivos independiente
 Comenzar definir procesos (kernel)
23/07/15 Profesor Pedro Contreras Flores 42
Arranque de un Sistema Operativo
mediante Lenguaje Assembler
Universidad de Atacama
Facultad de Ingeniería
DIICC

Más contenido relacionado

La actualidad más candente

Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Mari Cruz
 
Instruction Set Architecture: MIPS
Instruction Set Architecture: MIPSInstruction Set Architecture: MIPS
Instruction Set Architecture: MIPS
Prasenjit Dey
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
Jacqui Venegas
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Anthony Torres Bastidas
 
base
basebase
base
Ely Ch
 
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
babuece
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
Esteban Andres Diaz Mina
 
Examen final de redes
Examen final de redesExamen final de redes
Examen final de redes
Edwin Llasacce Bautista
 
COA | Memory Organization
COA | Memory Organization COA | Memory Organization
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
Luis Caiza
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
Daniel Gomez Jaramillo
 
Requerimientos funcionales de un sistema de reservas
Requerimientos funcionales de un sistema de reservasRequerimientos funcionales de un sistema de reservas
Requerimientos funcionales de un sistema de reservas
Humberto Rojas
 
Taller Sockets TCP UDP Multicast
Taller Sockets TCP UDP MulticastTaller Sockets TCP UDP Multicast
Taller Sockets TCP UDP Multicast
Hector L
 
Hamming y CRC
Hamming y CRCHamming y CRC
Round robin
Round robinRound robin
Identificar la red y el host
Identificar la red y el hostIdentificar la red y el host
Identificar la red y el host
Alejandra Ortega
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
Nithin Santhosh
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
Jose Guadalupe Rosales Lemus
 
proyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docxproyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docx
Karina Leyva
 
Embedded system - Introduction to interfacing with peripherals
Embedded system - Introduction to interfacing with peripheralsEmbedded system - Introduction to interfacing with peripherals
Embedded system - Introduction to interfacing with peripherals
Vibrant Technologies & Computers
 

La actualidad más candente (20)

Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
 
Instruction Set Architecture: MIPS
Instruction Set Architecture: MIPSInstruction Set Architecture: MIPS
Instruction Set Architecture: MIPS
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
 
base
basebase
base
 
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Examen final de redes
Examen final de redesExamen final de redes
Examen final de redes
 
COA | Memory Organization
COA | Memory Organization COA | Memory Organization
COA | Memory Organization
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Requerimientos funcionales de un sistema de reservas
Requerimientos funcionales de un sistema de reservasRequerimientos funcionales de un sistema de reservas
Requerimientos funcionales de un sistema de reservas
 
Taller Sockets TCP UDP Multicast
Taller Sockets TCP UDP MulticastTaller Sockets TCP UDP Multicast
Taller Sockets TCP UDP Multicast
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Round robin
Round robinRound robin
Round robin
 
Identificar la red y el host
Identificar la red y el hostIdentificar la red y el host
Identificar la red y el host
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
proyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docxproyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docx
 
Embedded system - Introduction to interfacing with peripherals
Embedded system - Introduction to interfacing with peripheralsEmbedded system - Introduction to interfacing with peripherals
Embedded system - Introduction to interfacing with peripherals
 

Similar a Arranque de Sistema Operativo con Assembler

Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
ANDREA
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
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 detalle
dsolana
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
Lupiita Paniagua
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
Sergio Lara Guevara
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
PTA Records
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.
Mauricio Velasquez
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
guest0f5365
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
CarlosEduardoGarciaG3
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
Miguel Silva
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
Oskar T. Lujan
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
LuiS YmAY
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
Xavi Flores
 
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
Harold Torres
 
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
José Luis Olivares
 
Curso c++
Curso c++Curso c++
Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01
Isaias Castro
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
Edwin Jaramillo
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
Infomania pro
 

Similar a Arranque de Sistema Operativo con Assembler (20)

Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)Lenguaje ensamblador (assembler)
Lenguaje ensamblador (assembler)
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
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
 
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
 
Curso c++
Curso c++Curso c++
Curso c++
 
Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 

Más de Pedro Contreras Flores

El dilema de las redes sociales
El dilema de las redes sociales El dilema de las redes sociales
El dilema de las redes sociales
Pedro Contreras Flores
 
Tipos de sistemas de información
Tipos de sistemas de informaciónTipos de sistemas de información
Tipos de sistemas de información
Pedro Contreras Flores
 
Text Analytics - JCC2014 Kimelfeld
Text Analytics - JCC2014 KimelfeldText Analytics - JCC2014 Kimelfeld
Text Analytics - JCC2014 Kimelfeld
Pedro Contreras Flores
 
Servicio de información para bibliotecas
Servicio de información para bibliotecasServicio de información para bibliotecas
Servicio de información para bibliotecas
Pedro Contreras Flores
 
Gestión del conocimiento
Gestión del conocimientoGestión del conocimiento
Gestión del conocimiento
Pedro Contreras Flores
 
Business intelligence (bi) y big data0
Business intelligence (bi) y big data0Business intelligence (bi) y big data0
Business intelligence (bi) y big data0
Pedro Contreras Flores
 
Bibliotecas moviles y calidad
Bibliotecas moviles y calidadBibliotecas moviles y calidad
Bibliotecas moviles y calidad
Pedro Contreras Flores
 
Sistemas y servicios de informacion intro
Sistemas y servicios de informacion introSistemas y servicios de informacion intro
Sistemas y servicios de informacion intro
Pedro Contreras Flores
 
Plataforma de Digitalización
Plataforma de DigitalizaciónPlataforma de Digitalización
Plataforma de Digitalización
Pedro Contreras Flores
 
Red de transporte urbano
Red de transporte urbanoRed de transporte urbano
Red de transporte urbano
Pedro Contreras Flores
 
Packing
PackingPacking
Hormigas arfificiales - Mauro San Martín
Hormigas arfificiales - Mauro San MartínHormigas arfificiales - Mauro San Martín
Hormigas arfificiales - Mauro San Martín
Pedro Contreras Flores
 
Tecnologías de la información
Tecnologías de la informaciónTecnologías de la información
Tecnologías de la información
Pedro Contreras Flores
 
Modelamiento y simulación
Modelamiento y simulaciónModelamiento y simulación
Modelamiento y simulación
Pedro Contreras Flores
 
Java 3D
Java 3DJava 3D
Complementos de programación
Complementos de programaciónComplementos de programación
Complementos de programación
Pedro Contreras Flores
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
Pedro Contreras Flores
 
3 recursividad
3 recursividad3 recursividad
3 recursividad
Pedro Contreras Flores
 
2 punteros y lenguaje c
2 punteros y lenguaje c2 punteros y lenguaje c
2 punteros y lenguaje c
Pedro Contreras Flores
 
Programación grafica en lenguaje c
Programación grafica en lenguaje cProgramación grafica en lenguaje c
Programación grafica en lenguaje c
Pedro Contreras Flores
 

Más de Pedro Contreras Flores (20)

El dilema de las redes sociales
El dilema de las redes sociales El dilema de las redes sociales
El dilema de las redes sociales
 
Tipos de sistemas de información
Tipos de sistemas de informaciónTipos de sistemas de información
Tipos de sistemas de información
 
Text Analytics - JCC2014 Kimelfeld
Text Analytics - JCC2014 KimelfeldText Analytics - JCC2014 Kimelfeld
Text Analytics - JCC2014 Kimelfeld
 
Servicio de información para bibliotecas
Servicio de información para bibliotecasServicio de información para bibliotecas
Servicio de información para bibliotecas
 
Gestión del conocimiento
Gestión del conocimientoGestión del conocimiento
Gestión del conocimiento
 
Business intelligence (bi) y big data0
Business intelligence (bi) y big data0Business intelligence (bi) y big data0
Business intelligence (bi) y big data0
 
Bibliotecas moviles y calidad
Bibliotecas moviles y calidadBibliotecas moviles y calidad
Bibliotecas moviles y calidad
 
Sistemas y servicios de informacion intro
Sistemas y servicios de informacion introSistemas y servicios de informacion intro
Sistemas y servicios de informacion intro
 
Plataforma de Digitalización
Plataforma de DigitalizaciónPlataforma de Digitalización
Plataforma de Digitalización
 
Red de transporte urbano
Red de transporte urbanoRed de transporte urbano
Red de transporte urbano
 
Packing
PackingPacking
Packing
 
Hormigas arfificiales - Mauro San Martín
Hormigas arfificiales - Mauro San MartínHormigas arfificiales - Mauro San Martín
Hormigas arfificiales - Mauro San Martín
 
Tecnologías de la información
Tecnologías de la informaciónTecnologías de la información
Tecnologías de la información
 
Modelamiento y simulación
Modelamiento y simulaciónModelamiento y simulación
Modelamiento y simulación
 
Java 3D
Java 3DJava 3D
Java 3D
 
Complementos de programación
Complementos de programaciónComplementos de programación
Complementos de programación
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
 
3 recursividad
3 recursividad3 recursividad
3 recursividad
 
2 punteros y lenguaje c
2 punteros y lenguaje c2 punteros y lenguaje c
2 punteros y lenguaje c
 
Programación grafica en lenguaje c
Programación grafica en lenguaje cProgramación grafica en lenguaje c
Programación grafica en lenguaje c
 

Último

Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 

Último (20)

Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 

Arranque de Sistema Operativo con Assembler

  • 1. 23/07/15 Profesor Pedro Contreras Flores 1 Arranque de un Sistema Operativo mediante Lenguaje Assembler Universidad de Atacama Facultad de Ingeniería DIICC
  • 2. 23/07/15 Profesor Pedro Contreras Flores 2 Temario 1. Introducción  Sistemas Operativos  Lenguaje ensamblador y programación 2. Sectores de arranque  Estructura  Funcionamiento 3. Caso Práctico 4. Conclusiones
  • 3. 23/07/15 Profesor Pedro Contreras Flores 3 Introducción Parte 1
  • 4. 23/07/15 Profesor Pedro Contreras Flores 4 Conocimientos previos  Unidades de información  Celdas especiales (registros), de 6 a 8 flip-flops (almacena niveles de voltaje 0.5 volts a 5 volees ), Bits (binary digits), nibbles (4 bits), byte (8 bits), palabra (16 bits)  RAM, ROM  Sistemas numéricos  Decimal, Binario, Hexadecimal  Texto, digitos, punto flotante  ASCII, Método BCD  Arquitectura Van Newman  Software, hardware, firmware, middleware  Cpu y registros internos
  • 5. 23/07/15 Profesor Pedro Contreras Flores 5 Funcionamiento de un S.O. Programa que supervisa el funcionamiento de otros programas y que controla el uso del hardware Tareas  Administra memoria  Administrar CPU (procesador)  Administrar dispositivos de ES  Administrar información (datos)  Administrar comunicación con operador Tipos  Monoprogramables, Multiprogramables, Tiempo Compartido, Multiprocesamiento.
  • 6. 23/07/15 Profesor Pedro Contreras Flores 6 Integración USUARIO APLICACIONES SISTEMAS OPERATIVOS HARDWARE Resultado Ordenes Respuestas Requerimientos Respuestas Instrucciones
  • 7. 23/07/15 Profesor Pedro Contreras Flores 7 Ejemplo de Microprocesadores Intel  Microprocesador 4004  Microprocesador 8008  Microprocesador 8080  Microprocesador 8085  Microprocesadores 8086 y 8088  Coprocesador matemático 8087  Microprocesadores 80186 y 80188  Coprocesador matemático 80C187  Microprocesador 80286  Coprocesador matemático 80287  Microprocesador 80386  Coprocesador matemático 80387  Microprocesador 80486  Microprocesador Pentium
  • 8. 23/07/15 Profesor Pedro Contreras Flores 8 Estructura del i8086  El Microprocesador 8086 tiene catorce registros de 16 bits. Dichos registros son:  Registros de datos  Registros de segmento  Registros de punteros de pila  Registros índices  Registro de puntero de instrucciones  Registro de flags de instrucciones
  • 9. 23/07/15 Profesor Pedro Contreras Flores 9 Banco de Registros  Registros de Datos  AX acumulador (AL , AH)  BX registro base ()(  CX registro contador  DX registro de datos  Punteros  SP Puntero de pila  BP Puntero base de pila  SI registro índice fuente  DI registro índice destino  IP Contador de programa, apuntador de siguiente instrucción  DS registro del segmento de datos  ES registro del segmento extra  SS registro del segmento de pila  CS Registro del segmento de código  NV, EI, PL, NZ, NA, PO, NC, DB  F registro de banderas
  • 10. 23/07/15 Profesor Pedro Contreras Flores 10 Estructura de un programa en ensamblador DOSSEGDOSSEG .MODEL SMALL.MODEL SMALL .STACK 100H.STACK 100H .DATA.DATA .CODE.CODE MOV AX, @DATAMOV AX, @DATA MOV DS, AXMOV DS, AX MOV AH,4CHMOV AH,4CH INT 21HINT 21H ENDEND PREPARACION DEL PROGRAMA PARA TRABAJAR CON EL MS-DOS MODO DE CREACION DEL EJECUTABLE DEFINICION DE LA PILA DEFINICION DE LOS DATOS DEL PROGRAMA INFORMACION DEL LUGAR EN EL QUE SE ENCUENTRAN LOS DATOS INSTRUCCIONES DEL PROGRAMA INFORMACION AL SISTEMA OPERATIVO DE QUE EL PROGRAMA HA FINALIZADO FINAL DEL FICHERO FUENTE
  • 11. 23/07/15 Profesor Pedro Contreras Flores 11 Pasos para crear un fichero ejecutable  Programación  Los programas deben escribirse en un de texto ASCII u otro editor  El nombre del fichero debe tener como extensión ASM  Para ensamblar el fichero se debe teclear en línea de ordenes  MASM NombreFichero.ASM  Si no se producen errores, se debe enlazar tecleando en la línea de órdenes:  LINK NombreFichero.OBJ
  • 12. 23/07/15 Profesor Pedro Contreras Flores 12 Tipos de instrucciones Tipo de instrucciónTipo de instrucción EfectoEfecto Instrucciones de transferencia Mueven información entre registros, registros y posiciones de memoria, o entre registros y puertos de entrada/salida Instrucciones aritméticas Realizan operaciones aritméticas: sumas, restas, etc. Instrucciones de manejo de bits Realizan operaciones de desplazamiento, rotación y lógicas sobre registros o posiciones de memoria Instrucciones de transferencia de control Sirven para controlar la ejecución de las instrucciones del programa Instrucciones de entrada y salida Mueven información entre registros y puertos de entrada/salida Instrucciones de manejo de cadenas Realizan operaciones entre sobre cadena de bytes o palabras Instrucciones de interrupción Provocan que el microprocesador realice un servicio que se le solicita diferente a las instrucciones que esta ejecutando
  • 13. 23/07/15 Profesor Pedro Contreras Flores 13 Instrucciones de transferencia de datos •Nombre: MOV •Formato: MOV destino, origen •Descripción: Transfiere un byte o una palabra desde el operando origen al operando destino. •Ejemplos: •MOV CX, 112h ;CX=112h •MOV ES, AX ;ES=AX •MOV AL, 12h ;AL=12h •MOV PAL_MEM, BX ;PAL_MEM=BX •Nombre: POP •Formato: POP destino •Descripción: Transfiere un byte o una palabra desde la cima de la pila al operando destino y luego decrementa la pila en 2. •Ejemplos: •POP BX ;Pone en BX el contenido ;de la cima de la pila •Nombre: PUSH •Formato: PUSH origen •Descripción: Decrementa el puntero de la pila (SP) en 2 y luego transfiere la palabra que se ha especificado en el operando origen a lo alto de la pila. •Ejemplos: •PUSH BX ;Pone BX en la pila
  • 14. 23/07/15 Profesor Pedro Contreras Flores 14 Instrucciones aritméticas (I) •Nombre: ADD •Formato: ADD destino, origen •Descripción: Suma los dos operandos y el resultado lo deja en el operando destino. Los operandos deben ser del mismo tipo. •Ejemplos: •ADD CL, BL ;CL=CL+BL •ADD AL, 12h ;AL=AL+12h •ADD CX, DX ;CX=CX+DX •Nombre: ADC •Formato: ADC destino, origen •Descripción: Suma los dos operandos más el posible acarreo de la operación anterior. El resultado se almacena en el operando destino. Además los operandos deben ser del mismo tipo. Ejemplos: •ADC CL, BL ;CL=CL+BL+CF •ADC AL, 12h ;AL=AL+12h+CF •ADC CX, DX ;CX=CX+DX+CF •Nombre: SUB •Formato: SUB destino, origen •Descripción: Resta el operando origen del operando destino. El resultado se almacena en el operando destino y además, ambos operandos deben ser del mismo tipo. •Ejemplos: •SUB CL, BL ;CL=CL-BL •SUB AL, 12h ;AL=AL-12h •SUB CX, DX ;CX=CX-DX •Nombre: SBB •Formato: SBB destino, origen •Descripción: Resta el operando origen del operando destino. Resta uno si el flag de acarreo está activo. Los operandos deben ser del mismo tipo. El resultado se almacena en el operando destino. •Ejemplos: •SBB CX, DX ;CX=CX-DX-CF
  • 15. 23/07/15 Profesor Pedro Contreras Flores 15 Instrucciones aritméticas (II) •Nombre: MUL •Formato: MUL origen •Descripción: Multiplica, sin considerar el signo el acumulador (AL o AX) por el operando origen. Si el operando origen es de tipo byte el resultado se almacena en AX. Si es de tipo palabra se almacena en DX (palabra superior) y AX (palabra inferior). •Ejemplos: • ;AX=1234h • ;BX=1000h •MUL BX ;DX=0123h, AX=4000h •Nombre: IMUL •Formato: IMUL origen •Descripción: Multiplica, considerando el signo, el acumulador AL o AX por el operando origen. Si el operando fuente es un byte se almacena el resultado en AX. Si se trata de una palabra, se almacena en DX (palabra superior) y AX (palabra inferior). •Ejemplos: • ;AL=FEh=-2 • ;BL=12h=18 •IMUL BX ;AX=FFDCh=-36 •Nombre: DIV •Formato: DIV origen •Descripción: Divide, sin considerar el signo, el acumulador (AL o AX) y su extensión (AH o DX) por el operando origen. El resultado se almacena en AL o AX, según el operando sea de un byte o de una palabra. El resto se almacena en la extensión del acumulador AH o DX. •Ejemplos: • ;AX=0013h=19 • ;BL=02h=2 •DIV BL ;AH=1, AL=9 •Nombre: IDIV •Formato: IDIV origen •Descripción: Divide, considerando el signo, el acumulador AL o AX y su extensión (AH o DX) por el operando origen. El resultado se almacena en AL o AX, según el operando sea de un byte o de una palabra. El resto se almacena en la extensión del acumulador AH o DX. •Ejemplos: • ;AX=FFEDh=-19 • ;BL=02h=2 •IDIV BL ;AH=1, AL=F7h=-9
  • 16. 23/07/15 Profesor Pedro Contreras Flores 16 Instrucciones aritméticas (III) •Nombre: INC •Formato: INC destino •Descripción: Suma una unidad al operando destino. El operando puede ser de tipo byte o palabra. •Ejemplos: • ;AX=1234h •INC AX ;AX=1235h •INC AH ;AH=13h •Nombre: DEC •Formato: DEC destino •Descripción: Resta una unidad al operando destino. El operando puede ser de tipo byte o palabra. •Ejemplos: • ;AX=1234h •DEC AX ;AX=1233h •DEC AH ;AH=11h •Nombre: NEG •Formato: NEG destino •Descripción: Cambia de signo mediante el complemento a 2 del operando destino. Deja el resultado en el operando destino. El operando puede ser de tipo byte o palabra. •Ejemplos: •NEG AL ;Si AL=F2h antes de la operación, después AL=0Eh
  • 17. 23/07/15 Profesor Pedro Contreras Flores 17 Editores-Compiladores-Enlazadores Editores-Compiladores-EnlazadoresEditores-Compiladores-Enlazadores Sistema OperativoSistema Operativo Debug de windows Windows MASM32 V8, Macro Assembler Microsoft Windows Batronix Prog-Studio 5.2 Windows MPL V 1.02.00 Windows Negatory Assembly Studio 2.0 (ml, link y rc) Windows MiniIDE V1.16 Windows/Linux VNBasm4 Windows Turbo Assembler Windows Power Assembler 32 1.2 Windows Small Memory Footprint Editor 3.0b Windows G C C 3.3.3 Linux Xebot 0.8.00 Linux
  • 18. 23/07/15 Profesor Pedro Contreras Flores 18 Primer programa  Este ejemplo realizara una suma de dos valores que se introducirá directamente desde el programa  Pasos:  Debug  Comando “a”, indica inicio de assembler  Solo se comprueba valor de inicio (0100H) de aplicación .COM por lo tanto se omite ingreso  Luego se puede comenzar a ingresar las instrucciones , después de ingresar “a0100” al debug  “int 20” no es una instrucción propia de assembler sino de la cpu
  • 19. 23/07/15 Profesor Pedro Contreras Flores 19 Guardar y editar Primer Programa  “h 10a 100” obtiene la suma y resta de direcciones, donde 10a es la direccion final y 100 es la direccion inicial  “n prueba.com” permite colocar el nombre al programa  “rcx” permite cambiar el tamaño del programa en registro CX a 00a (10 bytes) (resta de direcciones)  “w” escribe programa en el disco, indicando tamaño escrito.
  • 20. 23/07/15 Profesor Pedro Contreras Flores 20 Condiciones, ciclos y bifurcaciones loop
  • 21. 23/07/15 Profesor Pedro Contreras Flores 21 Condiciones, ciclos y bifurcaciones jnz
  • 22. 23/07/15 Profesor Pedro Contreras Flores 22 Condiciones, ciclos y bifurcaciones jcxz y jmp
  • 23. 23/07/15 Profesor Pedro Contreras Flores 23 Interrupciones  Las interrupciones son mensajes que los dispositivos de e/s envían a la CPU indicando un estado y la necesidad de un recurso  Tipos de interrupciones  Internas de hw  Externas de hw  De sw  Cada interrupción tiene diferentes funciones
  • 24. 23/07/15 Profesor Pedro Contreras Flores 24 Sector de Arranque de un S.O. Parte 2
  • 25. 23/07/15 Profesor Pedro Contreras Flores 25 Arranque de SO  Existen 2 maneras de arrancar el sistema: en frío o en caliente.  En Frío: está apagado y lo arrancamos con el 'ON'. Cachea los dispositivos de entrada y de salida, teclado, monitor, discos duros, disquetes, memoria (RAM), etc. Después busca el S.O. y lo carga, primero mira en la disquetera y si hay disquete con sistema operativo lo arranca; después mira el disco duro.  En Caliente: Se ejecuta apagando el ordenador con el botón reset o con Ctrl+Alt+Supr. No se hacen todos los test anteriores y se carga directamente del S.O., suele emplearse tras caídas del sistema operativo o bloqueo del ordenador.
  • 26. 23/07/15 Profesor Pedro Contreras Flores 26 Estructura del disco
  • 27. 23/07/15 Profesor Pedro Contreras Flores 27 Estructura de MBR  MBR – Master Boot Record  Sector físico de 512 bytes almacenado en el cilindro 0, cabeza 0, sector 1.  Sólo se ejecuta el MBR del Primary Master Disk. De este disco se realiza el booteo.  Se diferencian dos partes del MBR:  Master Boot Code (MBC)  Tabla de particiones  Sólo puede modificarse con determinados utilitarios (fdisk, Partition Magic, fips,etc).  Como se utiliza el MBR  Como última acción, el BIOS lee el primer sector de la unidad de booteo, lo valida y ejecuta.  Si es un diskette, este sector es un PBS (Partition Boot Sector).  Si es un HD, el sector es un MBR. Luego:  Se ejecuta el MBC: busca una partición marcada como booteable (activa).  Si la ejecución es exitosa, salta al cilindro, cabeza y sector de esa partición y carga el PBS en memoria, lo valida y ejecuta.
  • 28. 23/07/15 Profesor Pedro Contreras Flores 28 Particiones  Límite de 4 particiones primarias.  Es posible crear más de 4 utilizando particiones extendidas:  Simula una unidad física  Posee su propia tabla de particiones LOGICAS  Las particiones lógicas se almacenan en forma contigua (enlazadas)  Límite de 15 particiones para discos SCSI y 63 para discos IDE
  • 29. 23/07/15 Profesor Pedro Contreras Flores 29 Gestores de arranque (bootloader)  Es una programa que se encuentra en el sector de arranque de la partición primaria que esta activa o en el MBR  Gestores de arranque populares en GNU/Linux :LILO (LInux LOader), GRUB(Grand Unified Bootloader)  Otros ejemplos de bootloaders son BootMagic, BootStar, Ranish Partition Manager, etc.  LILO puede arrancar otros SO aparte de GNU/Linux  LILO puede instalarse en un sector de arranque de una partición extendida
  • 30. 23/07/15 Profesor Pedro Contreras Flores 30 Partes de MBR  Master Boot Code  Los primeros bytes del MBR corresponden al MBC.  Es un pequeño código que permite la carga del sistema operativo.  Incluye los siguientes mensajes de error:  Error loading operating system  Missing operating system  Tabla de particiones  Se ubica a partir del byte 446 dentro del MBR.  Es de 64 bytes. A continuación se dispone de dos bytes más.  Cada entrada es de 16 bytes. Los campos reelevantes en cada entrada son:  Indicador de booteo  comienzo de la partición  ID de sistema  final de la partición  Otros
  • 31. 23/07/15 Profesor Pedro Contreras Flores 31 Partition Boot Sector  Generalmente de 512 bytes.  Situado en el primer sector de cada partición.  Si reside en una partición booteable, contiene los datos necesarios para cargar el SO.  Depende del SO  Su estructura es similar al MBR. Mantiene un código ejecutable e información de la partición.  Almacena los siguientes errores:  Non-system disk or disk error  Replace and press any key when ready
  • 32. 23/07/15 Profesor Pedro Contreras Flores 32 Caso Practico: Arranque de SO en disquete Parte 3
  • 33. 23/07/15 Profesor Pedro Contreras Flores 33 Caso Práctico  Compilar con MASM 5.0, luego el LINK y ejecuta el fichero.exe obtenido.  Este programa es para diskette y puede ser adaptado a disco duro  Este ejemplo protege el disco duro en todo momento para no perder la información  El sistema de archivos que utiliza es FAT
  • 34. 23/07/15 Profesor Pedro Contreras Flores 34 Caso Práctico
  • 35. 23/07/15 Profesor Pedro Contreras Flores 35 Caso Práctico
  • 36. 23/07/15 Profesor Pedro Contreras Flores 36 Caso Práctico
  • 37. 23/07/15 Profesor Pedro Contreras Flores 37 Caso Práctico  … y más codigo…  Resultados
  • 38. 23/07/15 Profesor Pedro Contreras Flores 38 Caso Práctico  Resultados
  • 39. 23/07/15 Profesor Pedro Contreras Flores 39 Conclusiones Parte 4
  • 40. 23/07/15 Profesor Pedro Contreras Flores 40 Conclusiones  Ventajas  Conocimiento a fondo del computador  Control total del computador  Aplicaciones más rápidas, compactas  Optimización en tamaño y ejecución de programas  Desventajas  Difícil de conocer todas las instrucciones existentes  Aumenta el tiempo de programación  Problemas de compatibilidad con el hardware  Modificaciones de instrucciones según compilador
  • 41. 23/07/15 Profesor Pedro Contreras Flores 41 Conclusiones  Limitaciones  Primer paso solo arranca desde diskette  Dependencia de Sistema de archivos  Trabajos futuros  Realizar modificaciones para arranque desde HD  Definir sistema de archivos independiente  Comenzar definir procesos (kernel)
  • 42. 23/07/15 Profesor Pedro Contreras Flores 42 Arranque de un Sistema Operativo mediante Lenguaje Assembler Universidad de Atacama Facultad de Ingeniería DIICC

Notas del editor

  1. http://www.hackemate.com.ar/hacking/esp/part_00.htm#toc4 http://fusionhack.iespana.es/fusionhack/Cracking/Documentos/Crack1.htm http://bibliotecainformatica.iespana.es/bibliotecainformatica/programacion/ice.htm
  2. http://mipagina.cantv.net/porrasgarcia/her.html
  3. http://www.hackemate.com.ar/hacking/esp/part_00.htm#toc4 http://fusionhack.iespana.es/fusionhack/Cracking/Documentos/Crack1.htm http://bibliotecainformatica.iespana.es/bibliotecainformatica/programacion/ice.htm