0x01 brain.md( 二 )


它可以说明宏的效用,考虑这样一种情况,其中一台机器没有单个机器或汇编语言语句将一个内存地址的内容添加到另一个内存地址作为假设的汇编指令 ADD X, Y 。相反,假设机器有一条指令 LOAD,将数据从内存移动到寄存器,一条指令 ADD,将内存地址的内容添加到寄存器的内容,以及一条指令 STORE,将数据从寄存器移动到内存 。
通过使用这些指令,它可以使用宏定义创建“双地址添加”指令,如下所示 -
MACROADD2X, YLOADYADDXSTOREYENDMACRO
第一条语句将宏命名为 ADD2 并定义其伪参数,即形式参数 X 和 Y 。
接下来的三个语句定义了宏,即它们给出了它的翻译 。可以假设机器只有一个寄存器,所以没有问题 LOAD 和 STORE 指的是什么寄存器 。它可以将 ADD2 用作普通的汇编语言操作代码 。
用作文本替换工具
实例演示
直观地实操一下
一般的靶机中都不会安装该指令
所以只做基础示范
增加一下读取文件的姿势
so
/?start=m4 *