[51单片机] #pragma SAVE什么意思

[复制链接]
4253|3
 楼主| jsj3ban35 发表于 2015-12-22 13:10 | 显示全部楼层 |阅读模式
TE, ge, ETC, tc, ARM
#pragma SAVE
#pragma REGPARMS
extern char _getkey (void);
extern char getchar (void);
extern char ungetchar (char);
 楼主| jsj3ban35 发表于 2015-12-22 13:28 | 显示全部楼层
找到了,谢谢
Parameter passing in registers is disabled for the two external functions test1 and test2. Afterwards, the settings at the time of the SAVE directive are restored.

两个外部函数的寄存器内参数传递被禁止,然后SAVE指令时的设置被恢复。

//SAVE指令存储当前的ARGES,REGPARMS,OPTIMIZE因子和优化选项的SPEEDSIZE设置。

//这样,上面所述的设置被保留下来,例如在#INCLUDE语句之前用SAVE保护,然后用RESTORE指令恢复。

//SAVE/RESTORE只能在源文件中以#pragma语句的参数形式出现,而不能用于命令行。
 楼主| jsj3ban35 发表于 2015-12-22 13:29 | 显示全部楼层
找到了,谢谢
Parameter passing in registers is disabled for the two external functions test1 and test2. Afterwards, the settings at the time of the SAVE directive are restored.

两个外部函数的寄存器内参数传递被禁止,然后SAVE指令时的设置被恢复。

//SAVE指令存储当前的ARGES,REGPARMS,OPTIMIZE因子和优化选项的SPEEDSIZE设置。

//这样,上面所述的设置被保留下来,例如在#INCLUDE语句之前用SAVE保护,然后用RESTORE指令恢复。

//SAVE/RESTORE只能在源文件中以#pragma语句的参数形式出现,而不能用于命令行。
zhengzhirui 发表于 2016-5-23 16:43 | 显示全部楼层
好复杂,还是没搞懂,下边的这些函数
extern char _getkey (void);
extern char getchar (void);
extern char ungetchar (char);
原型去哪儿了,怎么也找不到,这一段是从C51的STDIO.h里截取的吧、、、
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部