请问前辈们这句($NOMOD51)在汇编里是什么意思?
请问前辈们这句($NOMOD51)在汇编里是什么意思?用了一年半的AVR单片机,我也开始玩51了,现在公司一直用的都是STC与华邦的单片机,
所以也算是初学者,请前辈们多多指教. 用汇编??这一句我也不知道什么意思,不过建议用KEIL C,从AVR转向51很简单
我和你相反,用了一年半51单片机,我也开始玩AVR,现在公司一直用AVR的单片机,原来我一直用STC的单片机。
./emotion/em035.gif./emotion/em035.gif NOMOD51
Abbreviation: NOMO
Arguments: None.
Default: The A51 assembler pre-defines all special function registersof the 8051 CPU. The A251 assembler and
theAX51assembler do not pre-define any CPU special functionregisters.
Control Class:Primary
μVision2 Control: Options – Ax51 – Special Function Registers – Define 8051 SFR Names.
Description:The NOMOD51 control prevents the A51 assembler from implicitly defining symbols for the default 8051special function registers. This is necessary when you want to
include a definition file to declare symbols for the s 你也是江西人?这个SEGMENT关键字在汇编中又代表什么函意?真不明白. 请看keilc下的帮助文件Keil\C51\HLP\A51.pdf。 哦.谢谢 afeibfp 的帮助. 和LZ的经历相差不多,现在也是STC 51,也在弄汇编 我也是;现在搞51汇编;大家有时交流一下 $NOMOD51就是告诉汇编器不使用预定义的寄存器名,因为汇编器内部定义了51的寄存器名,但在实际使用时会用51的扩展芯片例如52之类的,如果包含了52的头文件就会出现重复定义所以要先声明一下不适用汇编器内部定义的寄存器名。这是我自己理解的,原来总用汇编,弄汇编很辛苦啊,现在想起来脑瓜子都痛 ?PR?OSStartHighRdy?OS_CPU_A 是在外部声明的一个子程序名字是OSStartHighRdy,子程序原型的位置在OS_CPU_A这个模块里,C51编译器自动在前面增加?PR?。大概是这样子。最好自己看看CX51的帮助,或者是徐爱军的那本C51书。“重定位段”是指编译时这部分的代码或者数据的地址是未知的,要经过链接确定真实的物理地址。 补上
$NOMOD51
EA BIT 0A8H.7
SP DATA 081H
B DATA 0F0H
ACC DATA 0E0H
DPH DATA 083H
DPL DATA 082H
PSW DATA 0D0H
TR0 BIT 088H.4
TH0 DATA 08CH
TL0 DATA 08AH
NAME OS_CPU_A ;模块名
;定义重定位段
?PR?OSStartHighRdy?OS_CPU_A SEGMENT CODE
?PR?OSCtxSw?OS_CPU_A SEGMENT CODE
?PR?OSIntCtxSw?OS_CPU_A SEGMENT CODE
?PR?OSTickISR?OS_CPU_A SEGMENT CODE
?PR?_?serial?OS_CPU_A SEGMENT CODE
在$NOMOD51这条语句后面还有一些"定义重定位段"的内容是什么意思啊,为什么有问号啊?比如这句 ?PR?OSStartHighRdy?OS_CPU_A SEGMENT CODE 谢谢 记号~ mark{:smile:}
页:
[1]