compiler fixes and macro.s implementation