Hi all, I know when to use AREGS/NOAREGS and using directive. In my project, I am using AREGS (that is default). After compiling, when I look at *lst files,I realize some functions, after being converted to assemble language, using register R0-R7, while some using absolute register AR0-AR7. Does anyone know at what circumstance, complier will use absolute AR0-AR7 and when use R0-R7 while AREGS is enabled ? Thanks Daniel