MVS上装配的未定义操作代码错误的根本原因是什么?
我有以下JCL编译汇编语言程序: -MVS上装配的未定义操作代码错误的根本原因是什么?
//JRETEST JOB (A925,22360679777),'AESANJA',NOTIFY=&SYSUID,
// MSGLEVEL=(1,1)
//PROCLID JCLLIB ORDER=IBMUSER,LEARN.ASMJCL
// EXEC ASMACL
//SYSOUT DD SYSOUT=*
//C.SYSIN DD *
TEST START 0
PRINT NOGEN
* SAMPLE PROGRAM
BASR 15,0
USING *,15
PRINTOUT MYNAME,*
MYNAME DC C'ADRIAN EKA SANJAYA'
END TEST
/*
当我运行此我得到指示“未定义操作字段”错误PRINTOUT
是不确定的操作。
Screen showing undefined operation field。
我很困惑,我下面一个guide,代码是相似的: -
//JRETEST JOB (A925,2236067977),′ J.EHRMAN′
// EXEC ASMACLG
//C.SYSIN DD *
Test Start 0 First line of program
Print NoGen
* Sample Program
BASR 15,0 Establish a base register
Using *,15 Inform the Assembler
PRINTOUT MyName,* Print name and stop
MyName DC C′ John R. Ehrman′ Define constant with name
END Test Last statement
/*
PRINTOUT
不是一个操作码作为z/OS Principles of Operation定义。 PRINTOUT
显然不是在ASMACL编目过程中执行ASMA90程序的步骤的SYSLIB并置库中定义的宏。
您的教师可能会故意开始教您如何使用Assembly列表诊断代码问题。 IBM高级汇编程序(HLASM)的文档是here。该文档包含有关如何使用Assembly列表诊断代码问题的信息。
对不起,先生,但书汇编语言编程 为 IBM到Z体系™服务器 [链接](https://www.google.co.id/search?safe=off&dcr=0&ei=8VP3Wam0GJaavQT1wp6oBg&q=assembler+language+为+ IBM + Z +系统编程+ +服务器和OQ =汇编语言+ +编程&gs_l = PSY-ab.1.4.0i13k1j0i203k1j0i13k1l2j0i203k1j0i13k1l2j0i13i30k1l3.439369.443935.0.445514.27.19.2.0.0.0.272.2224.2j6j5.13.0 .... 0 ... 1.1 .64.psy-ab..12.15.2228 ... 0j35i39k1j0i10k1.0.WipYdhwQsrg) 代码就像打印输出是程序集 –
中的操作** PRINTOUT **不是命令,而是** MACRO指令**表示将所述宏合并/扩展到代码中。 A ** MACRO **必须是为汇编程序(ASMA90)分配给** SYSLIB **'ddname'的库中的成员。如果不是,那么汇编将无法解释它认为是操作代码的内容。这是问题和原因。因此,您需要确定包含** PRINTOUT **宏的宏库是否分配给** ASMACL **过程中的'ddname' ** SYSLIB **。请参阅6.1.1 – MikeT
@AdrianEka仅仅是因为这个宏在John Ehrman出色的书中的示例代码中存在并不意味着它已经在您的系统中实现。您参考的书中包含的宏源必须存在于执行ASMA90的步骤的SYSLIB并置库中。 – cschneid
http://idownvotedbecau.se/imageofcode –
欢迎来到*.com。请花一些时间阅读[帮助页面](https://*.com/help),尤其是名为[“我可以询问什么主题?”](https://*.com/help/讨论话题)和[“我应该避免问什么类型的问题?”](https://*.com/help/dont-ask)。请参阅[tour](https://*.com/tour)并阅读[如何提出良好问题](https://*.com/help/how-to-ask)。最后,请学习如何创建[最小,完整和可验证示例](https://*.com/help/mcve)。 – cschneid