[Assembly] Sistema Operacional linha de comando!

olá galerinha do guj eu li umas apostilas e aprendi um pouco de assembly sintaxe e um pouco como funciona já edito pequenos códigos , mas eu não sei como fazer um sistema linha de comando básico eu fiz um começo em assembly mas não consegui terminar , meu objetivo era fazer um sistema com as seguintes características :

>_ ter o cursor prompt em loop
** e poder acessar os discos rígidos A: B: C:**

pra fazer isso | A:>Meu texto 1
ou | B:>
Meu texto 2
|C:>_Meu Texto 3
etc…

infinitamente em loop ai o resto dos comandos eu adiciono cor comandos etc… eu só preciso dessa base eu procurei em varias apostilas tutorias etc… , eu fiz buscas de kernels de consoles cmd’s pesquisas etc mas não encontrei se alguém souber fazer um simples cmd so com o loop infinito para escrever eu desde já agradeço.

Obrigado pela atenção
Bom dia boa tarde e boa noite

Cara isso não é nada simples.

Primeiro lugar, vc esta descrevendo um “Interpretador de Comandos” que possui o conceito de “disco corrente”, no caso A: B: e C:

Essa nomenclatura vem do MS-DOS / CP-M e se vc quer desenvolver algo que vc faz um boot em uma maquina fisica ou virtual e vc consegue encontrar esses drives e, então, conversar com eles vc vai precisar

  1. saber como fazer um bootloader
  2. saber como conversar com a BIOS para encontrar os drives
  3. saber o protocolo do Drive ( ele pode ser Fat16, Fat32, etc - veja se isso te da uma luz: http://wolverine.caltech.edu/eecs52/projects/188mp3/188mp3.htm )
  4. saber como interpretar os comandos

isso tudo são partes do que vc quer fazer. o bootloader tem tamanho muito limitado e vc não precisa fazer tudo em assembly, vc pode fazer o booloader apenas e o resto em C, depois pode portando partes para ASM se necessario.

Se vc não quer essa complexidade toda e se expressou mal, se vc quer apenas um programa q rode sob windows e implemente algumas funcionalidades IMHO isso não é um sistema operacional. Mas ainda da pra fazer, vc apenas precisa descobrir as Chamadas de Sistema (syscall) necessarias e como vc chama isso de dentro do assembler.

algo como:

boa sorte. acredite: nada disso é trivial porem é muito divertido de aprender

1 curtida

vlw era isso que eu precisava meu objetivo é fica imprimindo diversas msgs na tela é fazer uma calculadora bootavél vai ajudar muito !!

desde já agradeço