[OS만들기] day 05: 인터럽트와 예외
오늘의 결과물 inturrupt가 발생한 부분 타이머에 의한 인터럽트로 인해 floppy disk를 계속 끄고 있기 때문에, 무한으로 재부팅 되는 모습. 코드 ; src\\init.inc SysCodeSelector equ 0x08 SysDataSelector equ 0x10 VideoSelector equ 0x18 ; src\\boot.asm %include "src/init.inc" [org 0] jmp 07C0h:start start: mov ax, cs mov ds, ax mov es, ax mov ax, 0xB800 mov es, ax mov di, 0 mov ax, word [msgBack] mov cx, 0x7FF paint: mov word [es:di], ax add di, 2 dec c..
더보기
[OS만들기] day 04: protected mode 진입하기(2)
오늘의 결과물 (이미지 상으로는 day03과 다를 바가 없지만, 코드가 좀 더 간결해졌습니다.) 소스코드 ; init.inc SysCodeSelector equ 0x08 SysDataSelector equ 0x10 VideoSelector equ 0x18 ; boot2.asm %include "src/init.inc" [org 0] jmp 07C0h:start start: mov ax, cs mov ds, ax mov es, ax mov ax, 0xB800 mov es, ax mov di, 0 mov ax, word [msgBack] mov cx, 0x7FF paint: mov word [es:di], ax add di, 2 dec cx jnz paint read: mov ax, 0x1000 mov es..
더보기