diff --git a/code/lab1/boot/bootasm.S b/code/lab1/boot/bootasm.S index 35647f5..8db1909 100644 --- a/code/lab1/boot/bootasm.S +++ b/code/lab1/boot/bootasm.S @@ -27,23 +27,23 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 - movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + movb $0xdf, %al # 0xdf -> port 0x60, do it again! + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 # Switch from real to protected mode, using a bootstrap GDT # and segment translation that makes virtual addresses diff --git a/code/lab2/boot/bootasm.S b/code/lab2/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab2/boot/bootasm.S +++ b/code/lab2/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab3/boot/bootasm.S b/code/lab3/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab3/boot/bootasm.S +++ b/code/lab3/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab4/boot/bootasm.S b/code/lab4/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab4/boot/bootasm.S +++ b/code/lab4/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab5/boot/bootasm.S b/code/lab5/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab5/boot/bootasm.S +++ b/code/lab5/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab6/boot/bootasm.S b/code/lab6/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab6/boot/bootasm.S +++ b/code/lab6/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab7/boot/bootasm.S b/code/lab7/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab7/boot/bootasm.S +++ b/code/lab7/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/code/lab8/boot/bootasm.S b/code/lab8/boot/bootasm.S index f1852c3..6f769b7 100644 --- a/code/lab8/boot/bootasm.S +++ b/code/lab8/boot/bootasm.S @@ -28,20 +28,20 @@ start: # address line 20 is tied low, so that addresses higher than # 1MB wrap around to zero by default. This code undoes this. seta20.1: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.1 movb $0xd1, %al # 0xd1 -> port 0x64 - outb %al, $0x64 + outb %al, $0x64 # 0xd1 means: write data to 8042's P2 port seta20.2: - inb $0x64, %al # Wait for not busy + inb $0x64, %al # Wait for not busy(8042 input buffer empty). testb $0x2, %al jnz seta20.2 movb $0xdf, %al # 0xdf -> port 0x60 - outb %al, $0x60 + outb %al, $0x60 # 0xdf = 11011111, means set P2's A20 bit(the 1 bit) to 1 probe_memory: movl $0, 0x8000 diff --git a/doc/lab1.pdf b/doc/lab1.pdf index 2c81fdf..5a10b09 100644 Binary files a/doc/lab1.pdf and b/doc/lab1.pdf differ diff --git a/doc/lab2.pdf b/doc/lab2.pdf index df6e7e5..d832fca 100644 Binary files a/doc/lab2.pdf and b/doc/lab2.pdf differ