上次用51,已经是好几年前的事了.而且那时还是用的C51. WWW_PLC※JS_COM-PmLC-技.术_网
最近一次偶然的机会,让我重新熟悉学校里学的51 ASM, 呵呵,没有办法呀. WW.W_PLCJS_COM-PLC-技.术_网
可是却不得不复古了. P.L.C.技.术.网——可编程控制器技术门户
我发现的BUG出现在字符表示上面,在程序中用了个@来作为数组的结束符. WWW_PL※CJS_COM-PLC-技.术_网
可是在软调试时,发现不对劲了,数组还没有到结束就退出取数. WW.W_PLCJS_COM-PLC-技.术_网
毕竟还是有点经验的人了,先查下ASCII码表,看看其值到底为多少, 哦,原来是40H. P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
怎么会出现40H和00H比较后结果相等呢, 于是怀疑编译器不识别@这个符号, WW.W_PLC※JS_C,OM-PL,C-技.术_网
再查查disassembly文件吧,不对呀 W1WW_P4LCJS_COM-PLC-技.术_网
CJNE A, @, LABEL ----->CJNE A, 0x40, LABEL,看来编译器也是能够认的了. WWW.PLCJS.COM——可编程控制器技术门户
于是怀疑是否是2个ASM文件造成了混乱, 因为这2个文件不是用#include "xx.asm" WWW.PLCJS.COM——可编程控制器技术门户
来调用的,因为那样根本无法设置断点,不方便调试. WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
于是把这句放在主程序文件里,再看,结果还是一样的. 不知道有人看明白了没有,