主题:[原创]紧急啊!宏汇编的问题
总是提示编出错. 是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
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