[汇编]让编译的程序同时兼容mbr和dos
可能有些网友们刚开始写dos程序或者mbr程序,但是会发现两者由于mbr的加载地址0x7c00和dos加载地址0x100不同,所以编译出来的程序有所不同。下面这个例子可以兼容mbr和dos程序,实现hello world(使用int 10h中断)
base:equ 0x800
call n
n:
pop ax
sub ax,n-$$
mov ,ax
add ax,str
mov bp,ax
mov cx,len
mov dh,12
mov dl,36
mov bh,0
mov al,1
mov bl,0xC
mov ah,13h
int 10h
ret
str:db 'hello world! -by JuncoJet'
len:equ $-str
times 510-($-$$) db 0
dw 0xAA55
页:
[1]