Urooj Fatima Raza
Description for my 64-BIT OS
Tools used:
-
Docker
-
Visual Studio code
-
Qemu

Description
First I followed the video lectures recommended for this task and made a 32 bit OS with much simpler functionalities and arranged all our assembly and other related files properly in a single folder and edit those files using VISUAL studio code.some of files were :
1. MakeFile: is a handy tool for organizing all your build commands and make sure that only files that have been modified can get rebuilt
We use –f f flag to change the format of nasm file to elf64
2. .asm: assembly files that written in assembly language and this language is easy for interacting with the hardware.
Upgrading the OS to 64 BIT
1.stack :we setup stack which is crucial to allow us to link it to c++.
2.after that we switched our operating system to 64 bit code
And then we wrote some C code to print any text on to the screen.as requirement for our assignment i wrote a function that prints the NUST text using astericks
afterwards We set up the stack in the main .asm .
Stack is the region of our computers memory that stores function called data which includes any local variables and also the memory address to which the each function returns control upon completion.as functions are called the stack grows and as function returns data is poped from the stack.each segment for a given function call is reffered to as a stack frame.and it is very easy to setup a stack and once it is done we’ll be able to run c code which will handle all stack relation for us
Errors I came Across
-
Error in including the C and C++ header files so that i downloaded the mingW AND updated its path
-
Error regarding the wrong path for qemu which i solved by updating the path from environmental variables