I just moved the cursor to where I thought a line should end and pushed
Return.
On 9/4/2023 11:04 AM, Paul Gilmartin wrote:
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.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN