Esiste un modo per "reindirizzare" il testo da un registro a un altro registro o set di registri? Ad esempio, passa "q
a registri "1
attraverso "5
.
Vorrei spesso creare versioni leggermente diverse della stessa macro, quindi è utile essere in grado di copiare una macro "modello" su più registri e quindi modificarne ognuna in posizione.
Per fare un esempio pratico, ecco il problema che mi ha posto questa domanda.
Devo trasformare la seguente riga da un linguaggio di descrizione hardware in molti blocchi ripetuti,
RAM64(in=in, load=load0, address=address[0..5], out=out1);
per
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);
Ho una macro che esegue questo, usando la funzione di incremento, yypW^At)^A
che ho memorizzato nel registro "a
.
A volte, ho bisogno che il modello di incremento sia leggermente diverso, come ad esempio
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);
dove "b
sarebbe la macro nel registro yypW^At)^A^A
.
Voglio un registro per fare questo, ma per ogni incremento da 1-5. Il registro "a
potrebbe (in qualche modo) essere copiato nei registri da b a e. Quindi incollerei ogni registro nel buffer, apporterei la modifica richiesta (aggiungere più termini, cambiare il carattere che segue il t
movimento ecc.) E riportare l'espressione modificata nel registro. Idealmente, questo ultimo passaggio potrebbe anche essere incluso nei comandi per copiare i registri
Questo mi evita di ripetere tutti i caratteri nella macro che NON richiedono modifiche. Per il mio esempio può essere banale, ma posso prevedere momenti in cui potrebbe essere molto utile fare ciò che sto chiedendo.