2013-08-09 6 views
0

나는 간단한 부트 로더를 AT & T 문법으로 작성했다. 간단한 부트 로더와 boch

[bits 16] 
[org 0x7c00] 
jmp $ 
times 510-($-$$) db 0 
dw 0xaa55 

나는 그것을 컴파일 yasm -f bin -o boot.bin loader.s를 사용하고, Bochs와 실행 할 수 있습니다.

dd if=boot.bin bs=512 of=floppy.img 
bochs -q 

그러나 bochsno bootable device가 있다고 말했다.

  1. 가 어떻게 그것을 다시 작성할 수 있습니다 내가 Bochs와 뭐가 문제 대신 times 510-($-$$) db 0)
  2. 사용해야합니다 건설 & T 구문 (AT
:?을?

그래서, 나는 다음과 같은 질문이

감사합니다.

x86_64 지원으로 컴파일되었지만, 공식 아치 repo에서 bochs와 함께 작동하지 않습니다.

답변

0

AT & T 구문을 모른다면 AT & T 구문을 쓰려고하는 이유를 상상할 수 없습니다! "시간"라인이 될 것이라고 생각합니다 ...

.org 0x7DFE 
.word 0xAA55 

Bochs는 아마도 전체 1.44M 플로피 이미지를 찾고있을 것입니다.

+0

이 * Bochs와 아마 전체 1.44M 플로피 이미지를 찾고 * - 아니요, Bochs에 작은 파일을 제공 할 수 있습니다. – rkhb

0

일반적으로 AT & T보다 읽기 쉽기 때문에 Intel 구문을 사용하는 것이 좋습니다. 두 가지 기본적인 차이점은 thisthis입니다.

우분투에서 오류없이 실행하려면 bochs가 bochs-xbochs-sdl이 필요합니다.

bochs -q 'display_library: sdl' 'boot:a' 'floppya: 1_44=floppy.img, status=inserted' 

또 다른 옵션은 qemu 대신 bochs을 사용하는 것입니다 : 그럼 당신은 당신의 플로피 이미지에서 부팅 할 수 있어야한다

qemu -fda floppy.img