首先有个明显的错误, L 2 T MD50 MD50作为存放指针的存储区,你这样的编是不对的; L 2 SLD 3 T MD50 我写的程序,供参考:数据存在mw400开始的7个字里,用SFC20拷贝到DB1开始的7个字里,怎么做的目的是在比较的过程中,数值会被改变,所以增加了一道; CALL "BLKMOV" SRCBLK :=P#M 400.0 BYTE 14 RET_VAL:=MW440 DSTBLK :=P#DB1.DBX0.0 BYTE 14 OPN DB 1 LAR1 P#0.0 L 6 _001: T MW 200 L DBW [AR1,P#0.0] L DBW [AR1,P#2.0] <I JCN _002 TAK T DBW [AR1,P#2.0] _002: +AR1 P#2.0 L DBW [AR1,P#0.0] T MW 300 L MW 200 LOOP _001