一条make命令搞定
这里是使用nasm编译器,语法和masm有些不一样
main.asmsegment .code
..start:
mov ax, data
mov ds, ax
mov es, ax
mov ax, stack
mov ss, ax
mov sp, 128
mov dx, msg
mov ah, 0x09
int 0x21 ; 显示字符串
mov ax, 0x4c00
int 0x21
segment .data
msg: db 'hello world!', 0x0d, 0x0a, '
Makefile
[code]main.exe: main.obj
alink -c -oEXE $<
main.obj: main.asm
nasm -f obj -o $@ $<
run: Image
qemu-system-i386 -hda $<
Image: main.exe
sudo kpartx -av $@
sudo mount /dev/mapper/loop0p1 mnt
sudo cp $< mnt/SHARE
sudo umount mnt
sudo kpartx -dv $@
clean:
rm -f main.exe main.obj
ms_dos.tar.zip
(604.34 KB, 下载次数: 6)
segment .stack stack
resb 128
[/code]
Makefile
|