auto-generating assembly code by variables found by script

Hi everybody

I'm working on a list of registers(flip-flops to be exact), now i need to extract some value from this list and use them as arguments to pass them to some assembly code
for example i have:

118   chain79  MASTER  (FF-LE)  FFFF  1975829  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr28_reg_q_reg_18      dff1  (TI,SO) 
119   chain79  MASTER  (FF-LE)  FFFF  1974997  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr02_reg_q_reg_18      dff1  (TI,SO) 
120   chain79  MASTER  (FF-LE)  FFFF  1974965  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr01_reg_q_reg_18      dff1  (TI,SO) 
121   chain79  MASTER  (FF-LE)  FFFF  1975861  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr29_reg_q_reg_18      dff1  (TI,SO) 
122   chain79  MASTER  (FF-LE)  FFFF  1975739  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr25_reg_q_reg_23      dff1  (TI,SO) 
275   chain78  MASTER  (FF-LE)  FFFF  1975978  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_lr_reg_q_reg_9          dff1  (TI,SO) 
276   chain78  MASTER  (FF-LE)  FFFF  1974689  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_exception_registers/exc_sprg1_reg_q_reg_9     dff1  (TI,SO) 
277   chain78  MASTER  (FF-LE)  FFFF  1975949  /TCK       F    FD1TQHVTT1   /platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_lr_reg_q_reg_10

I need to search for "/platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers

/gen_gpr0X1_reg_q_reg_Y1"

and then look if next line is similar, means that it should look like

"/platform/z0hn2p/z0h/z0h_cpu/cpu_dpath/rf_memblock/rf_general_registers/gen_gpr0X2_reg_q_reg_Y2"

and then extract X & Y from this list and use it in this assembly code (this is pseudo code i have also problem in some parts of this)

if [X2 != X1]
then
e_li rX1,-1 (In my assembly code means move rX2,FFFF )
e_li rx2,-1
e_lis rX2,0000 

else (this is my problem in this part since I don't know how to use power in script)
e_li rX1,2^Y1 (move 2^Y1 in rX1)
e_li rX2,2^Y2
e_lis rX2,0000

Thanks in advance for your help
:slight_smile:

It seems a little vague where the keys are coming from, but you can do something like this:

while read f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 12
do
 case "$f10" in
 (*/gen_gpr0X1_reg_q_reg_Y1)
    echo "..."
    ;;
 (*)
    echo "..."
    ;;
 esac
done <in_file >out_file