change to use dictionary to detect register address
add register addresses
support for write swapping
change default li32 condition to always
add dictionaries of read registers
add a function which locates read register according to specified string
fix invalid variable name:w
now registers on addresses can be used as read source