Reentrant coding versus nonreentrant coding

See BPX1GTH (__getthent) example for an example of the __getthent service, which uses reentrant code. Compare this example with an example of nonreentrant code for the same service in Example of nonreentrant entry linkage—AMODE 31, and note the following:
  • Placement of the standard 18-word register save area
  • Use of program and dynamic storage base registers
  • @DYNAM DSECT in the reentrant version
  • Different forms of the CALL macro
  • Several variables (such as PGPSCONTTYBLEN) that are initialized by the assembler in the nonreentrant version (see BPXYPGPS — Map the response structure for w_getpsent for the DCs), and at execution time with moves and stores in the reentrant version.