.globl begtext,begdata,begbss,endtext,enddata,endbss!定义了6个全局标识符
	.text !文本段
	begtext:
.data!数据段
begdata:
	.bss!末初始化数据段(Block Started by Symbol)
	begbss:
	.text!文本段
	SETUPLEN = 4 setup ! 程序的扇区数(setup-sectors)值;
BOOTSEG = 0x07c0 bootsect ! 的原始地址 (是段地址,以下同);
INITSEG = 0x90000 将boot !移到这里 -- 避开;
	SETUPSEG = 0x9020 setup!程序从这里开始;
SYSSEG = 0x1000 !system ! 模块加载到 0x10000(64kB)处。
ENDSEG = SYSSEG + SYSSIZE ! 停止加载的段地址;
!根文件系统设备使用与引导时同样的软驱设备;
!根文件系统设备在第一个硬盘的第一个分区上,等等;ROOT_DEV = 0x306!
! 指定根文件系统设备是第2个硬盘的第一个分区。这是Linux 老式硬盘命名 entry start !
! 告知连接程序从start 标号开始执行。

start:!17-26 行的作用是将自身(bootsect)从目前段位置0x07c0(31k)
!移动到0x9000(576k)处,共256字(512字节),然后跳转到
!移动代码后的go 标号处,也即本程序的下一语句处。
mov ax,#BOOTSEG! 将ds 段寄存器位置置为0x7C0;
mov ds,ax
	mov ax,#INITSEG! 将es段寄存器置为0x9000;
	mov es,ax
	mov cx,#256 ! 移动计数值 =256 字;
	sub si,si! 源地址 ds:si=0x07C00:0x0000
sub di,di! 目的地址:es:di = 0x90000:0x0000
rep ! 重复执行,直到 cx=0x0000
	movw ! 移动1个字;
	jmpi go,INISEG!间接跳转。这里INITSEG 指出跳转到的段地址。
	!从下面开始, CPU 执行已移动到 0x90000 段处的代码。
go:mov ax,cs!将ds、es和ss都置成移动后代码所在的段处(0x9000)。