Diary-day3 de desarrollo del sistema operativo

Realice una IPL real (Grabador de programas de inicio)

Teniendo en cuenta el desarrollo futuro, solo necesitamos usar nask para hacer un área de arranque de 512 bytes, y usamos la herramienta de administración de imágenes de disco para hacer el resto, para que el desarrollo sea conveniente.

day2 / helloos4 / ipl.nas modificó las instrucciones de ensamblaje señaladas por la etiqueta msg. La versión modificada es la siguiente:

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

Transformamos asm.bat e ingresamos ... \ tolset \ z_tools \ nask.exe ipl.nas ipl.bin ipl.lst (esto se ingresa de acuerdo con el directorio real donde se encuentra el archivo en su computadora; de lo contrario, la ruta será no ser encontrado error)

Haga doble clic en el archivo! Cons_nt.bat e ingrese asm. Encontramos que no hay un archivo de imagen helloos.img directo, sino un archivo ipl.bin y ipl.lst. Verificamos el ipl.lst, que es un archivo de texto para confirme cómo se traducen estas instrucciones al lenguaje de máquina.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
¡seguir adelante! Lo que necesitamos es el archivo de mapeo .img, el código en makeimg.bat es… \ tolset \ z_tools \ edimg.exe imgin:… /… /… / tolset / z_tools / fdimg0at.tek wbinimg src: ipl.bin len: 512 from: 0 to: 0 imgout: helloos.img (también de acuerdo con el directorio actual)
Inserte la descripción de la imagen aquí
continúe ingresando makeimg en la ventana de cmd, podemos ver que hay un helloos.img adicional en la carpeta, esto es lo que necesitamos.img Archivo de mapeo
Inserte la descripción de la imagen aquí
Luego, ingrese ejecutar en la consola para
Inserte la descripción de la imagen aquí
ver que el sistema operativo hello world que escribimos se ha ejecutado correctamente.
Inserte la descripción de la imagen aquí
Aquí edimg.exe es una herramienta de administración de mapeo de disco que se utiliza para administrar el archivo de mapeo img generado.

Empezando con Makefile

Generamos el archivo de imagen helloos.img en helloos4 y usamos la máquina virtual qemu para ejecutar este archivo. Los archivos por lotes involucrados son incluso más de lo que realmente necesitamos. Podemos escribir estos comandos de un solo paso en un archivo para ejecutar.

Cree un nuevo archivo, el nombre del archivo es Makefile, no use el sufijo, abra este archivo en el Bloc de notas, ingrese la siguiente declaración:


#默认动作

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

A continuación, cree un nuevo archivo llamado make.bat e ingrese el contenido:
… \ tolset \ z_tools \ make.exe% 1% 2% 3% 4% 5% 6% 7% 8% 9
Inserte la descripción de la imagen aquí
Esta vez, haga doble clic icons_nt_bat, en cmd Ingrese make run en él, generará automáticamente los archivos lst, bin e img para nosotros, y cargará el archivo de mapeo img en la máquina virtual para ejecutarlo.
El contenido de la carpeta es el siguiente:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Resultados de la ejecución de la máquina virtual QEMU (la declaración de salida en ipl.nas puede ser modificada por usted mismo)
Inserte la descripción de la imagen aquí

Supongo que te gusta

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