콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2023. 4. 14. 01:33
반응형

컴퓨터 부팅 시 부팅 과정은 BIOS(기본 입력 출력 시스템)이 ROM에 저장된 코드를 실행하면서 시작됩니다. 아래는 BIOS가 실행하는 부팅 과정의 간단한 어셈블리 코드 예시입니다.

 
[BITS 16] ; 16비트 코드로 작성
[ORG 0x7C00] ; BIOS가 로드할 메모리 주소
; 부트 로더 시작
; 스택 초기화
mov ax, 0x9000 ; 스택 영역을 0x9000 주소로 지정
mov ss, ax ; SS 레지스터에 스택 세그먼트 주소 저장
mov sp, 0xFFFF ; 스택 포인터를 초기화
; 디스크에서 부트 로더를 메모리에 로드
mov ax, 0x0200 ; 로드할 메모리 주소
mov es, ax ; ES 레지스터에 세그먼트 주소 저장
mov bx, 0x0000 ; 디스크에서 읽을 위치
mov ah, 0x02 ; 디스크에서 섹터 읽기
mov al, 0x01 ; 읽을 섹터 수
mov dl, 0x80 ; 부팅 디스크 드라이브
int 0x13 ; BIOS 인터럽트 호출
; 부트 로더 실행
jmp 0x0000:0x0200 ; 메모리에 로드된 부트 로더 실행
 
설명)

이 코드는 스택을 초기화하고, 디스크에서 부트 로더를 읽어와 메모리에 로드한 후, 부트 로더를 실행하는 과정을 나타냅니다.

이후에는 부트 로더가 더 많은 작업을 수행하며, 운영체제가 로드되고 실행됩니다.

 

 
반응형

콘텐츠 내 자동삽입광고