我发现这个问题,无论图形环境RADASM还是文本命令编译,都会出现期待一条指令在这个位置的错误,就是org指令前面,不知道是什么原因,具体描述 parser: instruction expected 出现位置     org TEXT_START

 -----------------------------------------------------------------------
;
;   Copyright 1994-2008 H. Peter Anvin - All Rights Reserved
;
;   This program is free software; you can redistribute it and/or modify
;   it under the terms of the GNU General Public License as published by
;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
;   Bostom MA 02111-1307, USA; either version 2 of the License, or
;   (at your option) any later version; incorporated herein by reference.
;
; -----------------------------------------------------------------------
;
; layout.inc
;
; Memory layout of segments
;
; Memory below 0800h is reserved for the BIOS and the MBR.
BSS_START    equ 0800h
; Text starts at the load address of 07C00h.
TEXT_START    equ 7C00h
; The secondary BSS section, above the text; we really wish we could
; just make it follow .bcopy32 or hang off the end,
; but it doesn't seem to work that way.
LATEBSS_START    equ      0B800h
; Reserve memory for the stack.  This causes checkov to abort the
; compile if we violate this space.
STACK_SIZE    equ      4096
STACK_START       equ      TEXT_START-STACK_SIZE
%ifdef MAP
    [map all MAP]
%endif
; The various sections and their relationship
           
                   org TEXT_START
        ; Use .earlybss for things that MUST be in low memory.
        section .earlybss    nobits start=BSS_START
        section .bcopy32    align=4 valign=16 follows=.data vfollows=.earlybss
        section .config        align=4 valign=16 follows=.bcopy32 vfollows=.bcopy32
        section .config.end    nobits valign=4 vfollows=.config
        ; Use .bss for things that doesn't have to be in low memory;
        ; with .bss1 and .bss2 to offload.  .earlybss should be used
        ; for things that absolutely have to be below 0x7c00.
        section .bss        nobits valign=16 vfollows=.config.end
        ; Warning here: RBFG build 22 randomly overwrites
        ; memory location [0x5680,0x576c), possibly more.  It
        ; seems that it gets confused and screws up the
        ; pointer to its own internal packet buffer and starts
        ; writing a received ARP packet into low memory.
%if IS_PXELINUX
        section .rbfg        nobits start=0x5680
RBFG_brainfuck:    resb 2048        ; Bigger than an Ethernet packet...
%endif
        ; For section following .rbfg
%if IS_PXELINUX
        section .bss2        nobits valign=16 vfollows=.rbfg
%else
        section .bss2        nobits valign=16 vfollows=.bss
%endif
        section .text        start=TEXT_START
        ; NASM BUG: .data always follows .text; can't override
        section .data        align=16 ; follows=.text
        ; This empty section works around a NASM bug with regards
        ; to follows= and nobits sections following a section which
        ; has VMA != LMA.
        section .advpad        progbits align=512 follows=.config
        section .adv        nobits align=512 follows=.advpad
        ; .uibss contains bss data which is guaranteed to be
        ; safe to clobber during the loading of the image.  This
        ; is because while loading the primary image we will clobber
        ; the spillover from the last fractional sector load.
        section .uibss        nobits align=16 follows=.adv
        ; Normal bss...
        section .bss1        nobits align=16 follows=.uibss
        ; Reserve space for stack
        section .stack        nobits align=16 start=STACK_START
Stack        resb    STACK_SIZE

这个程序难道没人可以看懂吗,那么多高手?从网上下载的例子运行时都这样,只要含有org指令就会提示,他前面缺少一条指令。