Diário de desenvolvimento do sistema operacional 3

Faça um verdadeiro IPL (gravador de programa de inicialização)

Considerando o desenvolvimento futuro, só precisamos usar o nask para fazer uma área de boot de 512 bytes e usar a ferramenta de gerenciamento de imagem de disco para fazer o resto, para que o desenvolvimento seja conveniente

day2 / helloos4 / ipl.nas modificou as instruções de montagem apontadas pelo rótulo msg. A versão modificada é a seguinte:

msg:
		DB		0x0a, 0x0a		; 换行
		DB		"hello, world"
		DB		0x0a			; 换行
		DB		0
 
		RESB	0x7dfe-$		;0x7dfe0x00中填补的命令
 
		DB		0x55, 0xaa

Transformamos ainda mais asm.bat e inserimos ... \ tolset \ z_tools \ nask.exe ipl.nas ipl.bin ipl.lst (isso é inserido de acordo com o diretório real onde o arquivo em seu computador está localizado, caso contrário, o caminho será não ser encontrado erro)

Clique duas vezes no arquivo! Cons_nt.bat e insira asm. Descobrimos que não há nenhum arquivo de imagem helloos.img direto, mas um arquivo ipl.bin e ipl.lst. Verificamos o ipl.lst, que é um arquivo de texto para confirme cada Como estas instruções são traduzidas para a linguagem de máquina.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
continuar! O que precisamos é o arquivo de mapeamento .img, o código em makeimg.bat é… \ tolset \ z_tools \ edimg.exe imgin:… /… /… / tolset / z_tools / fdimg0at.tek wbinimg src: ipl.bin len: 512 de: 0 a: 0 imgout: helloos.img (também de acordo com o diretório atual)
Insira a descrição da imagem aqui
continue inserindo makeimg na janela cmd, podemos ver que há um helloos.img extra na pasta, é disso que precisamos.img Arquivo de mapeamento
Insira a descrição da imagem aqui
Em seguida, digite run no console para
Insira a descrição da imagem aqui
ver se o sistema operacional hello world que escrevemos foi executado com êxito.
Insira a descrição da imagem aqui
Aqui, edimg.exe é uma ferramenta de gerenciamento de mapeamento de disco usada para gerenciar o arquivo de mapeamento img gerado.

Introdução ao Makefile

Geramos o arquivo de imagem helloos.img em helloos4 e usamos a máquina virtual qemu para executar esse arquivo. Os arquivos em lote envolvidos são ainda mais do que realmente precisamos. Podemos escrever esses comandos de uma única etapa em um arquivo para executar.

Crie um novo arquivo, o nome do arquivo é Makefile, não use o sufixo, abra este arquivo no Bloco de Notas, digite a seguinte instrução:


#默认动作

default :
	../../../tolset/z_tools/make.exe img

#文件生成规则

ipl.bin : ipl.nas Makefile
	../../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst

helloos.img : ipl.bin Makefile
	../../../tolset/z_tools/edimg.exe   imgin:../../../tolset/z_tools/fdimg0at.tek \
		wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img

#命令

asm :
	../../../tolset/z_tools/make.exe -r ipl.bin

img :
	../../../tolset/z_tools/make.exe -r helloos.img

run :
	../../../tolset/z_tools/make.exe img
	copy helloos.img ..\..\..\tolset\z_tools\qemu\fdimage0.bin
	../../../tolset/z_tools/make.exe -C ../../../tolset/z_tools/qemu

install :
	../../../tolset/z_tools/make.exe img
	../../../tolset/z_tools/imgtol.com w a: helloos.img

clean :
	-del ipl.bin
	-del ipl.lst

src_only :
	../../../tolset/z_tools/make.exe clean
	-del helloos.img

Em seguida, crie um novo arquivo chamado make.bat e insira o conteúdo nele:
… \ tolset \ z_tools \ make.exe% 1% 2% 3% 4% 5% 6% 7% 8% 9
Insira a descrição da imagem aqui
Desta vez, clique duas vezes icons_nt_bat, em cmd Insira make run nele, ele irá gerar automaticamente os arquivos lst, bin e img para nós, e carregar o arquivo de mapeamento img na máquina virtual para ser executado.
O conteúdo da pasta é o seguinte:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Resultados da execução da máquina virtual QEMU (a instrução de saída em ipl.nas pode ser modificada por você)
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_45394002/article/details/113820091
Recomendado
Clasificación