Bug fux: absolute and absolute indexed didn't increment PC correctly
Bug fix on shift operations that set a result to a wrong register
Fix branch operation bugs
 - address calculation on not taken
 - use macro to implement each branch operation
Bug fix on adc condition flag updates
Bug fix: bit and cmp operations didn't increment PC
Bug fix: brannch target calculation on taken was still wrong