这问题我知道答案了,呵呵。就是在最后加个 end 就成了。-----
;-----------------------------------------------------------------
;Usage: Descriptor Base,Linit,Attr
; Base: dd
; Limit: dd (Low 20 bits available)
; Attr: dw (Lower 4 bits of higher byte are always 0}
;-----------------------------------------------------------------
Descriptor macro opr1,opr2,opr3
dw opr2 & 0FFFFh ;第一双字的segment limition
dw opr1 & 0FFFFh ;第一双字的base segment
db (opr1>>16) & 0FFh ;第二双字的base segment
dw ((opr2>>8) & 0F00h)|(opr3 & 0F0FFh) ;第二双字的Attr+limition+Attr2
db (opr1>>24) & 0FFh ;base segment3
endm
end