アセンブリで書いている私の OS 用に 2 つの NASM ファイルがあり、それらが動作することはほぼ 100% 確信していますが、それらをコンパイルする方法が正確にわからないため、わかりません。コマンドnasm -f bin boot.asm -o boot.bin
と の使用方法は知っていますcat boot.bin > image.hdd
が、使用するファイルが 2 つになり、それらをリンクする方法がわかりません。それらの2つを別々の.binファイルにコンパイルしてから使用cat boot.bin other.bin > image.hdd
しようとしましたが、VirtualBoxで開こうとすると(OSのテストに使用します)、できません。
それらを見る必要がある場合は、2 つのアセンブリ ファイルにあるコードを次に示します。
;--------------------------------------------
; 'boot.asm'
; loaded from BIOS
[org 0x7C00]
[bits 16]
;--------------------------------------------
main:
mov ah, 0x0E ; print function
mov al, '.' ; ascii char
int 0x10 ; IO int
resetdisk:
mov ah, 0x00 ; reset function
mov dl, 0x00 ; drive
int 0x13 ; disk int
jc resetdisk
readdisk:
mov bx, 0x8000 ; segment
mov es, bx
mov bx, 0x0000 ; offset
mov ah, 0x02 ; read function
mov al, 0x03 ; sectors
mov ch, 0x00 ; cylinder
mov cl, 0x02 ; sector
mov dh, 0x00 ; head
mov dl, 0x00 ; drive
int 0x13 ; disk int
jc readdisk
db 0eah
dw 00000h ; offset
dw 08000h ; segment
;--------------------------------------------
times 510 - ($ - $$) db 0x00
db 0x55, 0xAA
と
;--------------------------------------------
; 'load.asm'
; loaded from 'boot.asm'
[org 0x8000]
[bits 16]
;--------------------------------------------
main:
mov ah, 0x0E ; print function
mov al, '.' ; ascii char
int 0x10 ; IO int
jmp $ ; hang
補足: 私は Mac OS X Mountain Lion を使用しているので、どうにかして助けを求めています。