我只是为了学习目的而阅读some assembly source code(我喜欢通过搞清楚代码来学习)。
我遇到了以下几行:
%ifdef KERNEL
kernel_file:
%defstr KERNEL_STR %[KERNEL]
incbin KERNEL_STR
.end:
align 512, db 0
%else
align BLOCK_SIZE, db 0
%ifdef FILESYSTEM
filesystem:
%defstr FILESYSTEM_STR %[FILESYSTEM]
incbin FILESYSTEM_STR
.end:
align BLOCK_SIZE, db 0
%else
filesystem:
%endif
%endif
我知道%include
做了什么,我可以说%ifdef
是 if语句。
我完全迷失了%defstr
。我只在this网站上找到了解释并且更加困惑。
有人可以给我一个非常基本的解释吗?