如何解决是否可以使用由内部宏使用的外部宏参数?
data segment
str db "hello$"
str2 db "world$"
data ends
adds macro a,b
lea si,a
lea di,b
endm
subs macro x,y
adds x,y
endm
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
subs str,str2
mov ah,4ch
int 21h
end start
code ends
以上仅是示例,在整数工作正常的情况下,但是在这种情况下使用字符串时,为什么它不将str替换为str,str2? 请快速帮助我,我需要为该项目进行工作。 它生成的错误是:
解决方法
缺少嵌套宏是EMU8086的局限性,我认为这是不可能的。如果您使用的是MASM / TASM / JWASM,则应正确处理。
在较新版本的MASM str
上是386上的一条指令,为避免将MASM出错,将str
重命名为其他名称是个好主意。
代码的最后两行是相反的,应该是:
code ends
end start
在用ends
结束程序之前,您必须以end
结束当前段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。