
汇编语言错误A48: DATA-ADDRESS EXPECTED 编译时显示有41个同样的上述错误。本人初学者,请帮忙看一下
源程序XBIT30H;YBIT31H;ZBIT32H;WBIT33H;IN1BIT34H;IN2BIT35H;IN3BIT36H;IN4BIT37H;OUTBIT38H;...
源程序
X BIT 30H;
Y BIT 31H;
Z BIT 32H;
W BIT 33H;
IN1 BIT 34H;
IN2 BIT 35H;
IN3 BIT 36H;
IN4 BIT 37H;
OUT BIT 38H;
G1 BIT 39H;
G2 BIT 40H;
G3 BIT 41H;
F BIT 42H;
ORG 0;
AJMP START;
ORG 0100H;
START:
MOV IN1,X;
MOV A,NOT Y;
MOV IN2,A;
MOV IN3,W;
MOV IN4,#1;
ACALL FRNA;
MOV G1,OUT;
MOV IN1,X;
MOV IN2,Y;
MOV IN3,Z;
MOV IN4,#1;
ACALL FRNA;
MOV G2,OUT;
MOV A,NOT X;
MOV IN1,A;
MOV IN2,Y;
MOV IN3,Z;
MOV IN4,W;
ACALL FRNA;
MOV G3,OUT;
MOV IN1,G1;
MOV IN2,G2;
MOV IN3,G3;
MOV IN4,#1;
ACALL FRNA;
MOV F,OUT;
SJMP $;
FRNA:
MOV A,IN1 AND IN2;
MOV IN1,A;
MOV A,NOT IN1;
MOV IN1,A;
MOV A,NOT IN3;
MOV IN3,A;
MOV A,IN1 OR IN3;
MOV IN3,A;
MOV A,NOT IN4;
MOV IN4,A;
MOV A,IN3 OR IN4;
MOV OUT,A;
RET
END
如果我把代码最前面的 BIT 改为 EQU 就没有问题了,这是何解? 展开
X BIT 30H;
Y BIT 31H;
Z BIT 32H;
W BIT 33H;
IN1 BIT 34H;
IN2 BIT 35H;
IN3 BIT 36H;
IN4 BIT 37H;
OUT BIT 38H;
G1 BIT 39H;
G2 BIT 40H;
G3 BIT 41H;
F BIT 42H;
ORG 0;
AJMP START;
ORG 0100H;
START:
MOV IN1,X;
MOV A,NOT Y;
MOV IN2,A;
MOV IN3,W;
MOV IN4,#1;
ACALL FRNA;
MOV G1,OUT;
MOV IN1,X;
MOV IN2,Y;
MOV IN3,Z;
MOV IN4,#1;
ACALL FRNA;
MOV G2,OUT;
MOV A,NOT X;
MOV IN1,A;
MOV IN2,Y;
MOV IN3,Z;
MOV IN4,W;
ACALL FRNA;
MOV G3,OUT;
MOV IN1,G1;
MOV IN2,G2;
MOV IN3,G3;
MOV IN4,#1;
ACALL FRNA;
MOV F,OUT;
SJMP $;
FRNA:
MOV A,IN1 AND IN2;
MOV IN1,A;
MOV A,NOT IN1;
MOV IN1,A;
MOV A,NOT IN3;
MOV IN3,A;
MOV A,IN1 OR IN3;
MOV IN3,A;
MOV A,NOT IN4;
MOV IN4,A;
MOV A,IN3 OR IN4;
MOV OUT,A;
RET
END
如果我把代码最前面的 BIT 改为 EQU 就没有问题了,这是何解? 展开
3个回答
展开全部
BIT定义的是位变量,位变量中传送指令只有mov C,bit或mov bit,C其余都是没有的,还有你将A传送给你定义的位变量,当然也会出错,A是char型8位数据。EQU可以定义任意变量类型,编译时也自动去按正确的数据类型去适应操作数的数据类型,所以不会出错
展开全部
数据也要分配存储空间的。
在最前面加:
ORG 2000H之类的语句。
EQU是等于,就是说某某是常量了,就不用分配空间了。
在最前面加:
ORG 2000H之类的语句。
EQU是等于,就是说某某是常量了,就不用分配空间了。
追问
在最前面加了之后还是同样的问题,是不是还要在后面加?
追答
我已经好久没用汇编了,有些忘了。
总之,数据块要分配地址。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,BIT是位定义,而EQU可以作一般符号定义也就是可以把它所定义的内容根据指令来识别.但BIT只能看作是一个位单元.
而程序中都是字节操作指令.
而程序中都是字节操作指令.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询