내 기본 부트 로더에서 일부 기본 (.bas) 파일을로드해야합니다.어셈블리 운영 체제에서 .BAS 파일을로드하는 방법
내 부팅 로더는 매우 기본이며, 약간의 텍스트를 표시하고 .bas 파일을 메모리에로드하고 실행하는 것으로되어 있습니다.
(나는 어셈블리에 아주 새로운 오전, 당신은 몇 가지를 설명해야 할 수도 있으므로 완전히 아직 이해하지 않습니다.) 여기
지금까지 내 간단한 코드입니다 (이것은 않는 모든 텍스트를 표시입니다 .) : 누군가가 나를 도울 수 있다면 감사하겠습니다BITS 16
start:
mov ax, 07C0h
add ax, 288
mov ss, ax
mov sp, 4096
mov ax, 07C0h
mov ds, ax
mov si, text_string
call print_string
jmp $
text_string db 'MyOS BootLoader...', 10, 13
db 'Looking For Kernel..., 10, 13
; *** INSERT .BAS LOADING CODE HERE :D ***
print_string:
mov ah, 0Eh
.repeat:
lodsb
cmp al, 0
je .done
int 10h
jmp .repeat
.done:
ret
times 510-($-$$) db 0
dw 0xAA55
) (내 코드가 마이크 손더스에 의해 MikeOS 중 기반 (here을 발견). :)
이 질문은 너무 광범위합니다. 파일 시스템에서 읽어야합니까? 어떤 파일 시스템 또는 파일 시스템없이 특정 섹터에 BAS 파일을 배치 할 것입니까? 이 코드를 부트 섹터에 모두 넣지는 않을 것입니다. –