Summary
Keywords
Full Transcript
Hello World! Nesta vídeo aula eu ensino a criar um bootloader em assembly e 3 formas de hello world! Os códigos inicialmente serão feitos dentro do próprio bootloader (apenas como demonstração), porém não vamos fazer um código tão extenso pois não podemos ultrapassar os 512 bytes obrigatórios. O bootloader é um sistema conhecido como MBR (Master Boot Record) - o Registro mestre de inicialização - que fica gravado no 1ª setor de algum disco. É ele o responsável por carregar o sistema operacional contido no disco, caso a BIOS identificar uma simples assinatura de 2 bytes no final do registro, significa que contém um sistema operacional gravado, possibilitando carregar nosso kernel. A MBR fica armazenada no endereço de memória 7C00h e partir daí, todo o nosso kernel (sistema operacional) é armazenados em outros endereços de memória. Nesta aula vamos criar nosso kernel junto com o bootloader e inserir no pendrive para ser inicializado na máquina virtual e na máquina real. *MENU DE VIDEO-AULAS* 👇 ▶ *Aula anterior:* https://www.youtube.com/watch?v=CEmMRcKbPHg&list=PLsoiO2Be-2z8BfsSkspJfDiuKeC9-LSca&index=3 ▶ *Próxima aula:* https://www.youtube.com/watch?v=YpMQBPrK7mM&list=PLsoiO2Be-2z8BfsSkspJfDiuKeC9-LSca&index=5 ▶ *Aula Introdutória (importante):* https://www.youtube.com/watch?v=Jws7BHrts6g&list=PLsoiO2Be-2z8BfsSkspJfDiuKeC9-LSca&index=1 *LISTAS DE TODAS AS INTERRUPÇÕES E FUNÇÕES DA BIOS/DOS* 👇 ✅ *Link 1:* https://pt.wikibooks.org/wiki/Programar_em_Assembly_com_GAS/Interrup%C3%A7%C3%B5es_do_BIOS ✅ *Link 2:* http://www.ctyme.com/intr/ ✅ *Link 3:* http://www.ablmcc.edu.hk/~scy/CIT/8086_bios_and_dos_interrupts.htm ✅ *Link 4* https://www.cin.ufpe.br/~arfs/Assembly/apostilas/Tutorial%20Assembly%20-%20Gavin/ASM6.HTM *REDES SOCIAIS* 👇 🌐 GitHub: https://github.com/FrancisBFTC/ 🌐 Página: https://www.facebook.com/kiddieos.community/ 🌐 Linkedin: https://www.linkedin.com/in/bftcorporations/ 🌐 Discord: https://discord.gg/XG4cdJXK #sistemaoperacional #assembly #programming *CAPÍTULOS DO VÍDEO* 👇 (00:00) - Introdução do vídeo [INICIANDO...] (00:47) - Criando pasta & arquivo de boot (01:59) - Escrevendo os primeiros códigos Assembly (04:51) - Inicializando o FergoRaw (05:18) - Realizando montagem do bootloader para arquivo binário .BIN (05:57) - Criando a imagem de disquete .IMG (07:14) - Configurando/Bootando o nosso pendrive pelo Rufus (08:00) - Iniciando formatação do pendrive com o arquivo .IMG (08:17) - Iniciando a máquina virtual como admin (Oracle VirtualBox) (08:42) - Iniciando o nosso sistema operacional (09:19) - Começando a chamada de sistema de "Hello Worlds" (09:43) - Escrevendo a primeira rotina Assembly de Hello World (13:47) - Criando rotina para quebras de linhas (14:53) - Escrevendo a segunda rotina Assembly de Hello World (20:32) - Escrevendo a terceira rotina Assembly de Hello World (27:32) - Finalizando os códigos de rotinas & sub-rotinas + remontagem (28:03) - Criando nossa imagem de disco & transferindo ao pendrive (29:15) - Corrigindo parte restante do código antes de inicializar (30:08) - Carregando o S.O no VirtualBox [aberto como ADMIN] (30:49) - Carregando o S.O na Máquina Real [PARTE 1: Configurando a BIOS] (31:46) - Carregando o S.O na Máquina Real [PARTE 2: Inicializando o S.O] (32:35) - Finalização do vídeo [FINISH!]
