如何将以下汇编语言写成C语言,大侠们,求指点

MOTOR_BUFF EQU 2FH ;电机/继电器/喇叭缓存 ,可寻址位定义
RELAY EQU 2FH.4 ;继电器
MOTOR EQU 2FH.5 ;直流电机
SPEAKER EQU 2FH.6 ;喇叭

wufei608说的有些不准确。
EQU的作用相当于C的#define,即要求编译器在编译时把下面出现的MOTOR_BUFF、RELAY 、MOTOR 、SPEAKER 这四个助记符自动替换成2FH、2FH.4、2FH.5、2FH.6来编译,并非赋值给变量。因为给变量赋值的实质是把值存放在内存的特定地址,但是像这段汇编代码里给出的,只是给那几个值命了名,然后直接用这几个“名字”来代替这几个值然后直接使用,没有存到内存里。追问

如果我用#define MOTOR_BUFF 2FH定义,我接下来定义RELAY、MOTOR、SPEAKER时是用sbit 吗?比如sbit RELAY = MOTOR_BUFF^4

追答

Cx51的话是可以的。另外还有一种方法是用位域。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-29
EQU是赋值运算符,
RELAY EQU 2FH.4
相当于 RELAY=2FH.4

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网