Yes, I know. That’s what I was answering. Using JCL is like pushing the button on the elevator. The assembly code is more like what drives the elevator itself.
JCL was known as OCL on some IBM computers—operator control language. We used to enter it on punched cards or else type it right into the console. It would say things like this:
// LOAD INVOICE3,D1
// FILE NAME-DAILY3,LOC-D2,ERASE-Y
// FILE NAME-CUSADD,LOC-D1,TYPE-P
// FILE NAME-INVOUT,LOC-D2,SIZE-360,TYPE-T
// PRINTER INVOICES,TYPE-5440
// PAUSE ‘LOAD INVOICES’
// RUN
I just made this ^^ up, and it’s not right at all, but again, that’s like a memory from five decades ago. Anyway, that would set the job going, engaging the program and files and output devices to run customer invoices. Nowhere near assembly code, which was working way down in the depths.