我有两个 NASM 文件,用于我正在用汇编语言编写的操作系统,我几乎 100% 肯定它们可以工作,但我不知道,因为我不知道如何编译它们。我知道如何使用命令nasm -f bin boot.asm -o boot.bin
和cat boot.bin > image.hdd
,但现在我有两个文件要使用,我不知道如何链接它们。我尝试将它们中的两个编译成单独的 .bin 文件,然后使用cat boot.bin other.bin > image.hdd
,但是当我尝试用 VirtualBox 打开它(我用它来测试我的操作系统的东西)它不会让我。
如果您需要查看它们,这是我在两个汇编文件中的代码
;--------------------------------------------
; '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 上,所以我无法获得帮助。