Xungua
这里是翻译成中文后的代码:
srcRegBase := D1000; // 源寄存器基址
dstRegAdd := D1130; // 目标寄存器加法
dstRegDce := D1260; // 目标寄存器dce
FOR regIndex := 0 TO 2 BY 1 DO
srcReg := srcRegBase + regIndex * 8;
FOR i := 1 TO 4 BY 1 DO
DMOV( 1 , srcReg + K10 , dstRegAdd);
DMOV( 1 , srcReg - K10 , dstRegDce);
dstRegAdd := dstRegAdd + 2;
dstRegDce := dstRegDce + 2;
END_FOR;
dstRegAdd := D1130;
dstRegDce := D1260;
END_FOR;
// 重复相同的过程对于其他的寄存器基址:
srcRegBase := D1008;
dstRegAdd := D1138;
dstRegDce := D1268;
FOR regIndex := 0 TO 2 BY 1 DO
// 相同的内循环
END_FOR;
// 再次重复
srcRegBase := D1016;
dstRegAdd := D1146;
dstRegDce := D1276;
FOR regIndex := 0 TO 2 BY 1 DO
// 相同的内循环
END_FOR;
这是精简后的代码,最主要是利用了外循环遍历不同的源寄存器基址,内循环则重复针对同一个基址的操作。
有了这个中文版本,更易读懂。如果还有其他疑问,欢迎继续提问!