有没有办法将文本从一个寄存器“管道”到另一个寄存器或一组寄存器?例如,通过移至"q
寄存器。"1
"5
我经常希望为同一宏创建稍有不同的版本,因此能够将“模板”宏复制到多个寄存器,然后就地修改每个寄存器,这很有用。
举一个实际的例子,这是促使我想到这个问题的问题。
我需要将以下内容从硬件描述语言转换为许多重复的块,
RAM64(in=in, load=load0, address=address[0..5], out=out1);
至
RAM64(in=in, load=load1, address=address[0..5], out=out2);
RAM64(in=in, load=load2, address=address[0..5], out=out3);
RAM64(in=in, load=load3, address=address[0..5], out=out4);
RAM64(in=in, load=load4, address=address[0..5], out=out5);
我有一个宏,它使用增量函数执行此操作,该函数yypW^At)^A
存储在register中"a
。
有时,我需要递增的模式要稍有不同,例如
RAM512(in=in, load=load1, address=address[0..8], out=out2);
RAM512(in=in, load=load2, address=address[0..8], out=out4);
RAM512(in=in, load=load3, address=address[0..8], out=out6);
RAM512(in=in, load=load4, address=address[0..8], out=out8);
其中,在寄存器中的宏"b
会yypW^At)^A^A
。
我想要一个寄存器来执行此操作,但是对于从1-5开始的每个增量。"a
可以(以某种方式)将该寄存器复制到寄存器b到e。然后,我将每个寄存器粘贴到缓冲区中,进行所需的修改(添加更多项,更改跟随t
运动的字符等),然后将修改后的表达式重新拉回到寄存器中。理想情况下,该最后一步甚至可以包含在复制寄存器的命令中
这使我不必重复宏中不需要更改的所有字符。以我的示例为例,这可能是微不足道的,但我可以预见,在某些时候做我想做的事情可能会很有帮助。