当前位置:编程学习 > 汇编语言 >>

请问一下高手 我这段51的汇编语言 宏定义 那里错误啊? 不能调用啊?

RST EQU P1.2 SDA EQU P1.1 CLK EQU P1.0 SEND_ADDR EQU 30H SEND_DATA EQU 31H SEND_TIMES EQU 32H DS1302DS1302_WR_BYTE MACRO ADDR,DATA MOV SEND_ADDR,ADDR MOV SEND_DATA,DATA CLR CLK LCALL DALAY_2US CLR C MOV SEND_TIMES,#08H MOV A,SEND_ADDR LCALL SEND_BYTE CLR C MOV SEND_TIMES,#08H MOV A,SEND_DATA LCALL SEND_BYTE JMP WR_OUT SEND_BYTE: RRC A MOV SDA,C LCALL DELAY_2US SETB CLK LCALL DELAY_2US CLR CLK DJNZ SEND_TIMES,LOOP_SEND RET WR_OUT: NOP ENDM ORG 00H JMP MAIN MAIN: MOV SP,#060H DS1302_WIRTE: CLR RST CLR CLK SETB RST DS1302_WR_BYTE 8EH,#080H END
答案:建议你先把ORG(代码地址的定位指令)搬到全部代码前先试试! 哈!再就先别宏,先连在后全通过了再来宏试试.
其他:没在起始地址ORG,程序从哪个地方开始执行,要调用的子程序没有返回! 

上一个:问个反汇编问题!
下一个:单片机基于8051片子做的八路抢答器程序,请高手帮忙检查下

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,