Assembly z390大型机的汇编代码编程

Assembly z390大型机的汇编代码编程,assembly,mainframe,zos,Assembly,Mainframe,Zos,这个问题还没有解决 在这个程序中,一个未知的问题会导致汇编程序拒绝代码,因为宏显然是未知的,或者汇编程序看起来像宏。我不知道如何纠正这个问题 我正在使用z390便携式大型机汇编程序和模拟器(http://www.z390.org/) 另一个链接:www.z390.org/z390_Documentation.htm 有关的pdf文件载于 装配手册在,但我在应用它时遇到问题 更新:我仍然想删除关于“missing macro=DSORG=PS”的错误,我不知道如何告诉汇编程序基址寄存器在哪里(“找

这个问题还没有解决

在这个程序中,一个未知的问题会导致汇编程序拒绝代码,因为宏显然是未知的,或者汇编程序看起来像宏。我不知道如何纠正这个问题

我正在使用z390便携式大型机汇编程序和模拟器(http://www.z390.org/)

另一个链接:www.z390.org/z390_Documentation.htm

有关的pdf文件载于

装配手册在,但我在应用它时遇到问题

更新:我仍然想删除关于“missing macro=DSORG=PS”的错误,我不知道如何告诉汇编程序基址寄存器在哪里(“找不到基址寄存器”)

另一个问题:你知道有没有关于这方面的资源,特别是那些容易理解的资源

如果你需要进一步的信息,我很乐意帮助你

        TITLE 'CS 4321 Program #4 by J. Colt Wright'
        PRINT NOGEN    
COPY SUBENTRY

    TITLE 'PROGRAM 4 80/80 LISTING'

    PRINT NOGEN
COPY2 SUBENTRY

    WTO 'PROG4 COPY PROG4 (ASCII) TO COPY (ASCII)'
    OPEN (INFILE,INPUT)
    OPEN (OUTFILE,OUTPUT)
    WTO 'Files opened successfully'
*
LOOP EQU *
GET INFILE,IRECORD
    MVC ORECORD,=CL133' '
    MVC ORECORD(80),IRECORD
    PUT OUTFILE,ORECORD
    B LOOP
*
EOF EQU *
    CLOSE (INFILE,,OUTFILE)
    WTO 'PROG4 ENDED OK'
    SUBEXIT


INFILE  DCB   DDNAME=INFILE,    X
              DSORG=PS,         X
              RECFM=FT,         X
              LRECL=72,         X
              EODAD=EOF,        X
              MACRF=GM          X
*
OUTFILE DCB   DDNAME=OUTFILE,   X
              DSORG=PS,         X
              RECFM=FT,         X
              LRECL=80,         X
              MACRF=PM          
*
IRECORD DC    CL72' '
ORECORD DC    CL80' '
          ENDPGM  DS D
          END COPY

20:22:31 PROG4     MZ390 START USING z390 V1.5.05 ON J2SE 1.6.0_26 10/08/11
20:22:31 PROG4     AZ390 AZ390E error  29      (1/29)211                 DSORG=PS,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = DSORG=PS,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/30)212                 RECFM=FT,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = RECFM=FT,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/31)213                 LRECL=72,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = LRECL=72,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/32)214                 EODAD=EOF,        X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = EODAD=EOF,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/33)215                 MACRF=GM          X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = MACRF=GM
20:22:31 PROG4     AZ390 AZ390E error  29      (1/36)252                 DSORG=PS,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = DSORG=PS,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/37)253                 RECFM=FT,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = RECFM=FT,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/38)254                 LRECL=80,         X
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = LRECL=80,
20:22:31 PROG4     AZ390 AZ390E error  29      (1/39)255                 MACRF=PM 
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = MACRF=PM
20:22:31 PROG4     AZ390 AZ390E error  29      (1/43)259                 ENDPGM  DS D
20:22:31 PROG4     AZ390 AZ390I ERRSUM missing macro = ENDPGM
20:22:31 PROG4     AZ390 AZ390E ERRSUM Critical Error Summary Option
20:22:31 PROG4     AZ390 AZ390E ERRSUM Fix and repeat until all nested errors resolved
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =DSORG=PS,
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =RECFM=FT,
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =LRECL=72,
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =EODAD=EOF,
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =MACRF=GM
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =LRECL=80,
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =MACRF=PM
20:22:31 PROG4     AZ390 AZ390E ERRSUM missing macro =ENDPGM
20:22:31 PROG4     AZ390 AZ390E ERRSUM total missing   copy   files =0
20:22:31 PROG4     AZ390 AZ390E ERRSUM total missing   macro  files =8
20:22:31 PROG4     AZ390 AZ390E ERRSUM total undefined symbols      =0
20:22:31 PROG4     AZ390 AZ390E ERRSUM total mz390 errors    = 0
20:22:31 PROG4     AZ390 AZ390E ERRSUM total az390 errors    = 10
20:22:32 PROG4     AZ390 AZ390I FID=  1 ERR=  10 c:\Program Files\Automated Software Tools\z390\CS4321\PROG4.MLC
20:22:32 PROG4     MZ390 ENDED   RC=12 SEC= 0 MEM(MB)= 47 IO=2420

        TITLE 'CS 4321 Program #4 by J. Colt Wright' 
        PRINT NOGEN    
COPY          SUBENTRY
    TITLE 'PROGRAM 4 80/80 LISTING'
    PRINT NOGEN
COPY2 SUBENTRY

    WTO 'PROG4 COPY PROG4 (ASCII) TO COPY (ASCII)'
    OPEN (INFILE,INPUT)
    OPEN (OUTFILE,OUTPUT)
    WTO 'Files opened successfully'
*
LOOP EQU *
    GET INFILE,IRECORD
    MVC ORECORD,=CL133' '
    MVC ORECORD(80),IRECORD
    PUT OUTFILE,ORECORD
    B LOOP
*
EOF EQU *
    CLOSE (INFILE,,OUTFILE)
    WTO 'PROG4 ENDED OK'
    SUBEXIT

    SUBEXIT   


INFILE  DCB     DDNAME=INFILE,                                         X
                DSORG=PS,                                              X
                RECFM=FT,                                              X
                LRECL=72,                                              X
                EODAD=EOF,                                             X
                MACRF=GM
*
OUTFILE DCB     DDNAME=OUTFILE,    
                DSORG=PS,                                              X
                RECFM=FT,                                              X
                LRECL=80,                                              X
                MACRF=PM
*
IRECORD DC    CL72' '
ORECORD DC    CL80' '
ENDPGM  DS D
 END COPY


08:39:00 PROG4     MZ390 START USING z390 V1.5.05 ON J2SE 1.6.0_26 10/09/11
08:39:00 PROG4     AZ390 AZ390E error 144      (1/15)141       MVC ORECORD,=CL133' '
08:39:00 PROG4     AZ390 AZ390I no base register found
08:39:00 PROG4     AZ390 AZ390E error  29      (1/39)258                       DSORG=PS,                                                RECFM=FT,                                                LRECL=80,                                               MACRF=PM
08:39:00 PROG4     AZ390 AZ390I ERRSUM missing macro = DSORG=PS,
08:39:00 PROG4     AZ390 AZ390E ERRSUM Critical Error Summary Option
08:39:00 PROG4     AZ390 AZ390E ERRSUM Fix and repeat until all nested errors resolved
08:39:00 PROG4     AZ390 AZ390E ERRSUM missing macro =DSORG=PS,
08:39:00 PROG4     AZ390 AZ390E ERRSUM total missing   copy   files =0
08:39:00 PROG4     AZ390 AZ390E ERRSUM total missing   macro  files =1
08:39:00 PROG4     AZ390 AZ390E ERRSUM total undefined symbols      =0
08:39:00 PROG4     AZ390 AZ390E ERRSUM total mz390 errors    = 0
08:39:00 PROG4     AZ390 AZ390E ERRSUM total az390 errors    = 2
08:39:01 PROG4     AZ390 AZ390I FID=  1 ERR=   2 c:\Program Files\Automated Software Tools\z390\CS4321\PROG4.MLC
08:39:01 PROG4     MZ390 ENDED   RC=12 SEC= 0 MEM(MB)= 47 IO=2374

我不是z390仿真器的专家,但根据我对标准z/OS汇编程序的了解,我想看看您的延续字符(您编写的DCB宏调用中的“X”)。一般来说,它们应该在第72列,并且续语句应该从每一续行的第16列开始

在您的第一个DCB的最后一个续行中,我将删除MACRF=GM上的“X”续行字符,因为这是您语句的结尾

此外,ENDPGM标签应该在第1列中,否则汇编程序会认为它是语句/宏调用


给z/OS汇编器一个机会——20年或30年后,你会爱上它的。

对于缺少的宏DSORG=PS。。。这是因为在OUTFILE DCB宏调用的第一行上没有延续。宏调用在几行之后从OUTFILE DCB一直运行到MACRF=PM,因此除了最后一行之外,所有行都需要一个continuation来告诉汇编程序这是一条语句。我知道语法方面的东西让人头疼,但是如果你坚持使用汇编程序,尤其是宏处理器,你会发现它有一些非常灵活和优雅的功能

至于丢失的基址寄存器。。。可能是一些事情。正如我所说,我不知道emulator,但它似乎在抱怨ORECORD或=CL133''文本没有基址寄存器。我猜是后者。根据LTORG指令在代码中的位置或CSECT的末尾,文本通常位于代码中。我无法从您的列表中判断是否有生成的LTORG指令(可以由子条目或子出口生成,但它们是特定于您的安装的宏/副本,因此除了猜测之外,我无法知道它们会做什么)。但从它来看,奇怪的是你有两个子项语句和两个子出口。通过猜测这类宏通常做什么,我希望每个宏都有一个。所以试着取出COPY2子条目和其中一个子出口,看看是否更好。如果做不到这一点,请查看是否可以使用z390中的某些选项获得生成语句的完整列表(首先将PRINT NOGEN更改为PRINT GEN),这可能会有所帮助


我刚刚帮我的孩子完成了家庭作业,现在这个!祝你好运。

什么日子?我讨厌那个系统,为什么要修改?jQuery不够?罗斯在所有方面都是对的。由于Z/390.org声称与HLASM兼容,唯一重要的固定列位置是72。我很高兴知道,在我爱上汇编程序之前,我只有18到28年的脱发时间。