debug  macro
push 	ax
push	bx
push	cx
push	dx
push	ax
and	ax,0f000h
shr	ax,12
mov	bx,offset   tblhex
xlat
mov	[si],al
pop	ax
push	ax
and	ax,0f00h
shr	ax,8
inc	si
xlat
mov	[si],al
pop	ax
push	ax
and	ax,0f0h
shr	ax,4
inc	si
xlat
mov	[si],al
pop	ax
push	ax
and	ax,0fh
inc	si
xlat
mov	[si],al
pop	ax
pop	dx
pop	cx
pop	bx
pop	ax
endm
delay   macro   time
        local   outer,inner
        push    cx
        mov     cx,time
outer:  push    cx
        mov     cx,65535
inner:  loop    inner
        pop     cx
        loop    outer
        pop     cx
        endm
load_addr  macro    descr,seg_addr
        and         eax,0ffffh
        mov         ax,seg_addr
        shl         eax,4
        mov         descr.base_1,ax
        rol         eax,16
        mov         descr.base_m,al
        endm