为什么在某些应用程序中使用这样的代码而不是 MOVE?
add 16 to ZERO giving SOME-RESULT
我在几个地方的专业编写的代码中发现了这一点。 Sorce is on this page
最佳答案
Why such code is used in some applications instead of a MOVE?
add 16 to ZERO giving SOME-RESULT
在没有看到更多代码的情况下,它似乎可能是 IBM Assembler 到 COBOL 的翻译。特别地,ZAP
(零和添加打包)指令可以按字面翻译为上述指令,特别是如果SOME-RESULT
是COMP-3
>。因此,检查翻译的人可以看到 ZAP
指令已被忠实翻译。
或者,这可能是汇编程序员的一个笑话。
看过代码后,我还注意到了
subtract some-data-item from some-data-item
用来代替
move zero to some-data-item
这与 IBM Assembly 中压缩十进制字段使用的操作一致,其中没有其他指令来完成“灵活”移动。我所说的灵活是指打包十进制指令包含长度字段,因此不需要使用特定大小的 MVC
指令。
这种特殊的风格很不寻常,可能与捕获侵犯版权有关。
关于cobol - 加到零...有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67991511/