NASM学习笔记(一)

继FASM之后,又去看了看NASM,虽然它们都是免费软件,但《自己动手写操作系统》里使用的是NASM。
照书敲了一个最简单的代码:

org 07C00H
	mov ax, cs
	mov ds, ax
	mov es, ax
	call DispStr
	jmp $
DispStr:
	mov ax, BootMessage
	mov bp, ax
	mov cx, 16
	mov ax, 01301H
	mov bx, 000CH
	mov dl, 0
	int 10h
	ret
BootMessage:
	db "Hello, My OS!!!"
times 510-($-$$)	db 0

dw	0xAA55

编译一下:nasm xxx.asm -o boot

用BOOTICE写入MBR,算是见到了在裸机上的"软件"。
解释:

ORG 07C00H
表明这一段代码是加载到07C00H这个地址运行的,为什么?BIOS就是那么规定的。
int 10H
调用"中断",显示字符串。

你可能感兴趣的:(NASM学习笔记(一))