음..

bootLoader.asm 에 보면

0x55 0xAA 넣어서 부트로더로 정해버린것도 이해가 되는데 (이게 첫번째 섹터)

그리고 int 0x13으로 1024번 반복해서 플로피에 있는 섹터들을 RAM에 LOADING 하는 것도 알겠는데요    


virtualOS.asm 에서 또 한번 1024번 토탈섹터카운터 돌려서 숫자를 찍더라고요


그리고 그 두 이미지를 하나로 합치는데


왜 그런지 잘 이해가 가지 않아서요


제가 모르는 뭔가가 있는지해서요


극단적으로 생각해서 bootLoader.asm에서 1024번 가상OS이미지를 LOADING은 안해도 virtualOS.asm으로 숫자들은 비디오메모리를 이용해서 잘 찍힐것이라 생각되서요


virtualOS.asm으로 숫자들을 찍어주려면 bootLoader.asm에서 반드시 미리 RAM에 1024섹터를 로딩을 시켜줘야 하나요??\


그리고


제가 생각한 프로그래밍 실행순서가 맞는것인지도 궁금합니다.(컴파일 순서를 잘 몰라서 헷갈리네요.)


1) bios는 플로피디스크 첫섹터에서 0x55 0xAA로 부트로더를 발견하고 부트로더에게 제어권을 넘긴다


2)제어권을 넘겨받은 부트로더는 bootLoader.bin코드부분을 실행하여 1024번만큼 RAM에 섹터들을 로딩한다


3)virtualOS.bin 부분을 RAM에 2번째 섹터위치부분(jmp 0x10000)에 로딩한다


4)부트로더는 bootLoader.bin에  jmp 0x10000을 보고 virtualOS 코드인 숫자를 화면에 출력한다.


맞는순서인가요? 



2가지 우문이지만 현답 기다리겠습니다.