从hlasm中输出控制台上的字符(370)

时间:2017-07-02 07:26:04

标签: mainframe

为了好玩,我正在实施将bf翻译成例如: x86程序集。目前我正在研究大型机组装。方言是“HLASM”,大型机是IBM的370之一。

Sofar大部分工作只会向操作员的控制台发出一个字符失败:我只获得空格,看起来像是一个隐含的换行符(我不想要)。

有人能找到我的错吗?

* get a character to display
         LLGC  R6,0(R7)
* get a pointer to the buffer which will contain the char to displa
         LA    R5,BUFFER
* store character in buffer
         STC   R6,0(R5)
* get a pointer to the memory area describing the data to display
         LA    R1,MSGAREA
* invoke display char
         SVC   35

MSGAREA  EQU   *
         DC    AL2(5)
         DC    XL2'00'
BUFFER   DC    C'!'

1 个答案:

答案 0 :(得分:2)

我建议您写一下SYSOUT DD,以便您可以灵活地批量运行(在SYSOUT中分配JCL)或以交互方式运行(分配{{ 1}}到我认为是SYSOUT中的默认值的终端会话。)

TSO

如果您可以将程序绑定到TSO专用,那么您可能还需要查看终端I / O的TPUT, TGET, and TPG macros。如果您习惯于在Unix中使用流式I / O,则终端I / O在3270环境中有点奇怪。

[entry logic, initialization and so forth] OPEN (SYSOUT,OUTPUT) PUT SYSOUT,RECORD CLOSE SYSOUT [exit logic] RECORD DC CL80' ' SYSOUT DCB DDNAME=SYSOUT, X DSORG=PS, X MACRF=PM, X RECFM=FB, X LRECL=80 已记录在案here。记录DCB OPEN。记录PUT CLOSEout.l.s已记录here