源码:
<span style="white-space:pre"> </span> <span style="font-family:Courier New;">ORG 7C00H ; 启动入口
Main:
JMP Start ; 跳转到开始程序入口
; 要显示的字符串以0结尾
.loadMsg DB 'Loading System...', 0
Start:
CLI ; 关中断
MOV AX, CS
MOV DS, AX ; 设置数据段
MOV ES, AX
XOR AX, AX ; 设置堆栈段
MOV SS, AX
MOV SP, 6000H ; 7C00以前为堆栈入口
STI ; 开中断
MOV SI, Main.loadMsg ; 调用显示载入的信息
CALL <span style="white-space:pre"> </span>PutChr
JMP $ ; 死循环
; --------------------- 显示字符串 ---------------------
;
; DS:SI中放入字符串地址
;
; ---------------------------------------------------------
PutChr:
LODSB ; 从DS:SI装载一个字符到AL中
OR AL, AL
JE EndPutChr ; 如果AL=0,则返回
MOV AH, 0EH
MOV BX, 0007H
INT 10H ; 调用BIOS中断
JMP PutChr
EndPutChr:
RET ; 返回
TIMES 512-($-$$) DB 0 ; 保证启动区有512字节
DW 0AA55H ; 启动区标记
TIMES 1474560-($-$$) DB 0 ; 1.44MB编译成镜像文件</span>