64비트 운영체제 프로젝트
글쓴이: cppig1995 / 작성시간: 화, 2007/12/11 - 7:43오전
필자의 학업 문제로 2007년 3월에 올리던 64비트 운영체제 관련 강좌가 끊겼었습니다 ㅜㅜ
이번주 월요일(어제), 화요일(오늘), 수요일(내일) 3일 동안 기말고사를 봅니다.
그러므로 다시 운영체제 소스 코드를 들여다봅니다 (???)
처음부터 새로 작성합니다 (???)
List of loader1.asm
; CSDS Level-1 Bootloader ; Written by CScppig1995 (Heesu Yoon) ; Initial written 2007-12-11 [org 0] [bits 16] jmp entry nop ; FAT12 header db "CSDS 64" dw 512 db 1 dw 1 db 2 dw 224, 2880 db 0xf0 dw 9, 18, 2 dd 0, 2880 db 0, 0, 0x29 dd 0x0000C5D5 db "DreamSystem" db "FAT12 " entry: jmp 0x07c0:start start: mov ax, cs mov ds, ax mov ss, ax xor sp, sp mov ax, 0x1000 mov es, ax mov cx, 2 mov dh, 0 read_sector: xor di, di retry: mov ah, 2 mov al, 1 xor bx, bx xor dl, dl int 0x13 jnc next_sector inc si cmp si, 4 mov di, disk_str jae printError mov ah, 0 mov dl, 0 int 0x13 jmp retry next_sector: mov ax, es add ax, 32 mov es, ax inc cl cmp cl, 18 jbe read_sector mov cl, 1 inc dh cmp dh, 2 jb read_sector mov dh, 0 inc ch cmp ch, 40 jb read_sector xor dh, dh mov ax, 0x07e0 mov es, ax xor di, di mov ax, 0x4f00 int 0x10 cmp ax, 0x004f mov si, graph1_str jne printError mov ax, [es:di+4] cmp ax, 0x0200 mov si, graph2_str jne printError mov ax, 0x4f01 mov cx, 0x116 int 0x10 cmp ax, 0x004f mov si, graph3_str jne printError mov ax, 0x4f02 mov bx, 0x4116 int 0x10 ; UNDONE: 보호 모드로 진입 ; TODO: 공간이 남아 돌면 64비트 모드로 진입 jmp 0x1000:0x4200 ; jmp loader2.rbx printError: ; BIOS teletype service (ah=0x0e int 0x10) ; 비디오램을 문자=0x20 속성=0x74로 채운뒤 ; title_str에 있는 문자열을 1행 4열에 title_attr(0x4f)의 속성으로 출력하고 ; base_str에 있는 문자열을 3행 2열에 base_attr(0x70)의 속성으로 출력하고 ; *si에 있는 문자열을 4행 4열에 text_attr(0x74)의 속성으로 출력함 title_str db "CS DreamSystem 64 :: Error" base_str db "A problem occured while processing start sequence:" disk_str db "Couldn't read floppy disk." graph1_str db "VESA BIOS Extensions not presents." graph2_str db "VESA BIOS Extensions 2.0 or higher required." graph3_str db "Video BIOS does not support mode 0x116(1024x768x32K)." title_attr db 0x4f base_attr db 0x70 text_attr db 0x74 times 510-($-$$) hlt dw 0xaa55
결론은 내년초에 운영체제 강좌가 재개될 것이라는 것을 말해 주는 복선과,
시험전 딴짓증후군의 말로, 그리고 "이 글은 뻘글이다."입니다.
Forums: