有人可以向我解释如何在 OpenVMS 上进行汇编开发,我已经在 OpenVMS 上使用 C 语言进行开发,而且我刚刚开始在 Windows 和 Linux 中进行汇编。如何编译、链接和运行 .asm 程序?
3 回答
只需使用 HELP 和 RTFM(阅读精美手册)
建议的 Google 字符串 = site:hp.com openvms 宏
下面是我刚刚输入的一个简单示例。创造; 编译;关联; 跑。
这是在安腾上。对于这样的琐碎程序,Alpha 和 Vax 将完全相同
最难的部分是在这里粘贴代码示例......如果该行没有以 4+ 个空格开头,{ } 代码块正在占用我的换行符。奇怪的!'试图帮助'POS!
首先,创建一个文件:
$CREATE test.mar
然后我们将此文本放入该文件中:
.psect data wrt,noexe
hello:
.ascid "Hello World"
.psect code nowrt,exe
.entry start, 0
movl #5, R8
10$:
pushaq hello
calls #1, G^lib$put_output
sobgtr R8, 10$
ret
.end start
完成后,点击 control-z 以返回 DCL 并编译并运行:
$ MACRO test
$ LINK test
$ RUN test
Hello World
Hello World
Hello World
Hello World
Hello World
$
我喜欢 MACRO-32,我更喜欢它不那么知名但非常优雅的表亲 BLISS-32,但在我 45 年的程序员生涯中,我只用 MACRO 编写过一个商业应用程序,我这样做是因为我需要超快速度而且我没有其他高级语言替代品。
所以 MACRO 就像一个给你时间的女朋友(!!)但不是你想要安定下来结婚的女朋友。为此,您需要使用 C 或 C++ 或 BASIC 甚至 .. COBOL 进行编码,因为这些语言可以很好地“完成工作”以投入生产,并且在原始编码器继续前进后很长时间仍可维护。
DBL是起源 DiBOL(面向数字业务的语言)的当前化身,是 COBOL 的替代品。对于应用程序,我推荐 DBL 而不是 COBOL 或 BASIC。我已经通过 DiBOL/DBL 在 MACRO 中编码。