Part 1

Clone the repository https://github.com/os-course/iustfall20. Try to load and boot the examples as we have done in class. Note that use VirtualBox as a Virtual Machine tool for running the generated ISO file. Make sure all the examples successfully executed.

$ clone https://github.com/os-course/iustfall20
$ cd iustfall20/01_bootloader
$ chmod +x generate_iso.sh
$ ./generate_iso.sh file_name.asm

Part 2

Add a function to move the cursor of the screen to the head of the next line. Name the function print_newline You might use 2 special characters. Their hex value is 0x0A and 0x0D.

Part 3

Add a new label to the printer.asm file named print_hex. This will be used as the function to print hexadecimal numbers in the main file. Note that you might need to use and, shr, shl, and dec CPU instructions. To test your implementation, put a hexadecimal number into an address of memory. Then print_hex the number in that address.

; Example of a test for the print_hex function
mov dx, 0xA91F
call print_hex
; The result should be 0xA91F

Deadline

  • Friday 9th Oct. 23:00

Submission

Submit just a zip file in LMS. The file should be named as [9752xxxx.zip]. For example 97521234.zip.