总是提示编出错. 是spointer的问题. 但是不知道该怎么做

Labeling         macro              top
                 label_&top&:
                 endm                  ;which serves as the producer of label

Connect          macro              x1,x2,x3,x4,x5

                 ifb                <x3>
                 &x1&x2             &x4&x5
                 
                 else          
                 &x1&x2&x3&x4&x5

                 endif
                 endm

.iff             macro              x1,op,x2
                 cmp                x1,x2
                 Connect            j,op,,label_,%spointer  ;jop label_0
                 inc                spointer
                 Connect            j,mp,,label_,%spointer  ;jmp label_1
                 dec                spointer
                 Laleling           spointer                ;lable_0
                 endm

.elsee           macro          
                 inc                spointer 
                 Labeling           spointer
                 endm

.ifend           macro
                 inc                spointer
                 Labeling           spointer
                 endm

iniz             macro
                 mov                 ax,       @data
                 mov                 ds,       ax
                 mov                 es,       ax
                 endm

Disp             macro               msg
                 mov                 ah,       09h
                 lea                 dx,       msg
                 int                 21h
                 endm

finish           macro
                 mov                 ax,4c00h
                 int                 21h
                 endm
                 
.model small

.data

     spointer     db                 0
     string1      db                 0ah, 0dh,'is greater!','$'
     string2      db                 0ah, 0dh,'is smaller','$'
     string3      db                 0ah, 0dh,'are equal','$'
     string4      db                 0ah, 0dh,'is no less','$'
     string5      db                 0ah, 0dh,'is no above','$'

.code

main             proc               far
                 iniz
                 mov                ax,         16
                 mov                bx,         20

                 mov                spointer,   0
                 .lall
                 .iff               ax,e,bx
                 Disp               string3
                 .ifend
                 .lall
                 .iff               ax,b,bx
                 Disp               string2

                 .elsee            
                 Disp               string1
                 .ifend
                 .lall
                 .iff               ax,a,bx
                 Disp               string4
                 .elsee            
                 Disp               string5
                 .ifend

                 finish
main endp
                 end main