this code will not work with PIC as it needs 7 registers and gcc doesnt support that...