本人在用汇编语言编写C51单片机程序时,在编写中断时,想在主程序中用到中断里的寄存器的数值!!能不能啊

就是想在中断返回时,想用到中断里已经改变的某些寄存器再次用到主程序中,也就是返回后主程序的这个寄存器是在 中断中 给其重新给的值,在中断中重新复的寄存器值再次返回时,他在主程序里会变吗?如果会变,那么怎么可以让它不变!!

第1个回答  2011-06-19
改变寄存器值前push到堆栈,要恢复值时pop出来,注意push和pop顺序。
比如push r0;
push r1;
push r2;
出栈时就是pop r2;
pop r1;
pop r0;
第2个回答  2011-06-19
你给每一种变量单独分配一个寄存器,或者搞到堆栈里面,返回的时候出栈就好了本回答被提问者采纳
第3个回答  2011-06-19
压倒占里边
大家正在搜