关于这两个伪指令

fuio   2009-2-1 09:23 楼主
我是个菜鸟,看到好多地方解释EQU和DATA,DS等这样的伪指令作用很相似!我想定义一个变量,到底用哪个好?
C语言int a;这个变量定义要是汇编成51汇编是什么样的啊?请教哪位大虾,非常感谢!

回复评论 (7)

;int a (int在C51中为16位)
a dw 1234h;
点赞  2009-2-1 14:01
int a (int在C51中为16位)
a dw 1;
上面的错了吧,后面的数不是初值吧.是个数吧,不知道51是不是,很久没搞51了
a:dw 1234h这样才是初值吧
点赞  2009-2-5 23:23
1楼 的格式 应该 没有 错
点赞  2009-2-6 09:36
没错,就是这个格式
点赞  2009-2-7 19:01
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个存储单元
点赞  2009-2-8 11:32
DW以字初始化程序空间,所以int a(16位的)在汇编中应该这样定义:
a: DW 1234H;
点赞  2009-2-8 11:35
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个存储单元



点赞  2009-2-8 14:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复