根据程明计SMALLRTOS51一书所讲:“C51编译器在编译C语言程序时,如果发现一个函数调用了一个外部函数,就认为这个函数返回时,R0-R7,ACC,B,PSW,DPH,DPL等寄存器已经变化。因此,它不会在调用这个函数前用这些寄存器保存有用数据,外部函数返回时这些寄存器是什么值都不影响程序执行。”以及AVR-GCCC调用汇编规则:“R18-R27,R30,R31,局部变量分配寄存器,汇编可以自由使用这些寄存器,无需恢复”。