我是个菜鸟,看到好多地方解释EQU和DATA,DS等这样的伪指令作用很相似!我想定义一个变量,到底用哪个好?
C语言int a;这个变量定义要是汇编成51汇编是什么样的啊?请教哪位大虾,非常感谢!
;int a (int在C51中为16位)
a dw 1234h;
int a (int在C51中为16位)
a dw 1;
上面的错了吧,后面的数不是初值吧.是个数吧,不知道51是不是,很久没搞51了
a:dw 1234h这样才是初值吧
EQU:给特定的符号名赋值
DATA:将内部RAM地址赋给指定符号
DS:以字节为单位保留空间
用法如下:
ABC EQU 38H ;程序中出现ABC的地方汇编程序将代之以38H
MN: DW 1234H,08H ;MN-MN+3地址单元中顺次存放12H,34H,00H,08H
L1: DS 32 ;从L1地址开始保留32个存储单元
DW以字初始化程序空间,所以int a(16位的)在汇编中应该这样定义:
a: DW 1234H;
EQU:给特定的符号名赋值
DATA:将内部RAM地址赋给指定符号
DS:以字节为单位保留空间
用法如下:
ABC EQU 38H ;程序中出现ABC的地方汇编程序将代之以38H
MN: DW 1234H,08H ;MN-MN+3地址单元中顺次存放12H,34H,00H,08H
L1: DS 32 ;从L1地址开始保留32个存储单元
恩