主题:[原创]宏汇编的奇怪问题
是实现简单的if功能.发现就是编译不过提示下面出错
;............
i = 0
k = 1
Labeling macro top
label&top&:
endm ;which serves as the producer of label
Connect macro x1,x2,x3,x4
&x1&x2 &x4&x4
endm
iff macro x1,op,x2
mov bx, x1
cmp bx, x2
i = i + 2
k = k + 2
Connect j,op,label,%i
Connect j,mp,label,%k ;jmp labelk无法找到但是我有
;写啊
Labeling %i
endm
ifend macro
Labeling %k
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
num1 dw ?
num2 dw ?
string1 db 0ah, 0dh,'is greater!','$'
string2 db 0ah, 0dh,'is smaller','$'
.code
start:
main proc far
iniz
mov num1, 16
mov num2, 20
mov bx, 0
iff num1,l,num2
Disp string2
ifend
finish
main endp
end start
;............
i = 0
k = 1
Labeling macro top
label&top&:
endm ;which serves as the producer of label
Connect macro x1,x2,x3,x4
&x1&x2 &x4&x4
endm
iff macro x1,op,x2
mov bx, x1
cmp bx, x2
i = i + 2
k = k + 2
Connect j,op,label,%i
Connect j,mp,label,%k ;jmp labelk无法找到但是我有
;写啊
Labeling %i
endm
ifend macro
Labeling %k
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
num1 dw ?
num2 dw ?
string1 db 0ah, 0dh,'is greater!','$'
string2 db 0ah, 0dh,'is smaller','$'
.code
start:
main proc far
iniz
mov num1, 16
mov num2, 20
mov bx, 0
iff num1,l,num2
Disp string2
ifend
finish
main endp
end start