On Mon, 4 Sep 2023 10:42:51 -0700, Tom Brennan wrote: >I can't be sure I formatted it properly, ... > What did you do to fix it? (List the steps, or did you just retype t?)
Could ChatGPT be instructed to use line breaks and eschew NBSP? >but after looking over the >code, I have nothing to say but WTF? :) > > PRINT NOGEN > TITLE 'Simple Addition Program' >** Define storage for input numbers and result >* Reminds me of a certain physicist's first FORTRAN program. ChatGPT needs to peruse a QSAM tutorial. Could it produce a reentrant version? Does it remember in case you ask for a refinement? >NUM1 DS F First input number >NUM2 DS F Second input number >RESULT DS F Result of addition >** Main program >* >MAIN C 0 NUM1 Check if NUM1 is zero > BE ZERO Branch to ZERO if true >** Read the first number from input >* > GET NUM1,NUMIN Read NUM1 from input > LA 0,NUM1 Load NUM1 into register >** Read the second number from input >* > GET NUM2,NUMIN Read NUM2 from input > A NUM1,NUM2 Add NUM1 and NUM2 > ST NUM1,RESULT Store the result in RESULT >** Print the result >* > PUT RESULT,NUMOUT Print the result >** Terminate the program >* > SR 15,15 Set return code to 0 > BR 14 Return to caller >** Define input and output areas >* >NUMIN DC F'0' Input buffer for numbers >NUMOUT DC F'0' Output buffer for result >ZERO DC F'0' Constant zero > END MAIN End of program > >On 9/4/2023 9:57 AM, Paul Gilmartinrwrote: >> On Mon, 4 Sep 2023 16:36:14 +0000, Bill Johnson wrote: >> >>> William: >>> >>> Write me an assembler program using high-level assembler for the mainframe. >>> >> Fix your damn mailer, or throw it away and get one that works! >> >> In particular, do not use NBSP to format code samples. >> >>> Chatgpt: >>> >>> Certainly! Here’s a simple example of a mainframe assembly program written >>> in High-Level Assembler (HLASM) that reads two numbers from input and >>> prints their sum: >>> PRINT NOGEN TITLE 'Simple Addition Program'** Define >>> storage for input numbers and result*NUM1 DS F First >>> input numberNUM2 DS F Second input numberRESULT DS >>> F Result of addition** Main program*MAIN C 0 NUM1 >>> Check if NUM1 is zero BE ZERO Branch to ZERO if >>> true** Read the first number from input* GET NUM1,NUMIN >>> Read NUM1 from input LA 0,NUM1 Load NUM1 into >>> register** Read the second number from input* GET NUM2,NUMIN >>> Read NUM2 from input A NUM1,NUM2 Add NUM1 and NUM2 >>> ST NUM1,RESULT Store the result in RESULT** Print the result* >>> PUT RESULT,NUMOUT Print the result** Terminate the program* >>> SR 15,15 Set return code to 0 BR 14 >>> Return to caller** Define input and output areas*NUMIN DC F'0' >>> Input buffer for numbersNUMOUT DC F'0' Output buffer for >>> resultZERO DC F'0' Constant zero END MAIN >>> End of program >>> Please note that this is a simplified example for demonstration purposes. >>> In a real-world scenario, you would need to adapt this code to your >>> specific mainframe environment and requirements. Assembly language >>> programming can be quite complex, so make sure to consult the documentation >>> for your specific mainframe and assembler to ensure compatibility and >>> correctness. -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN