以下是我写的一个汇编程序,但编译是回有一个错误:undefined symbol:label_2
有谁知道原因的请指教
connect macro x1,x2,x3,x4,x5
ifb <x3>
&x1&x2 &x4&x5
else
&x1&x2&x3&x4&x5
endif
endm
spointer= 0
counter = 0
st_push macro
spointer=spointer+1
endm
st_pop macro
spointer=spointer-1
endm
labeling macro top
connect label_,top,:
endm
wh macro x1,op,x2
local next
st_push
sptmp=spointer
st_push
Labeling %sptmp
cmp x1,x2
connect j,op,,next,
connect j,mp,,label_,%spointer
next:
endm
wend macro
connect j,mp,,label_,%sptmp
labeling %spointer
st_pop
st_pop
endm
iff macro x1,op,x2
local con
st_push
st_push
st_push
sptmp1=spointer-1
sptmp2=spointer-2
fla=1
flag=0
cmp x1,x2
connect j,op,,again
flag=1
connect j,mp,,label_,%sptmp1
con:
endm
elsee macro
mov bl,flag
cmp bl,0
connect j,ne,,label_,%spointer
labeling %sptmp1
fla=2
endm
ifend macro
labeling %spointer
spointer=spointer-fla
labeling %spointer
st_pop
st_pop
st_pop
endm
code segment
main proc far
assume cs:code
start:
mov bx,1114h
mov cx,1112h
wh bx,g,cx
mov ah,02h
mov dl,'1'
int 21h
iff bx,g,cx
mov ah,02h
mov dl,'2'
int 21h
inc cx
elsee
mov ah,02h
mov dl,'4'
int 21h
ifend
wend
mov ah,02h
mov dl,'3'
int 21h
mov ax,4c00h
int 21h
main endp
code ends
end start