Character
1 byte (8 bits)
Halfword (short)
2 bytes (16 bits) on an integral boundary
Word (integer)
4 bytes (32 bits) on an integral boundary
Double
8 bytes (64 bits) on an intergal boundary
Registers
16 general registers. Each register contains 32 bits (which can is be called 4 bytes, a word or an integer). R0-R15
Addressibility
Up to 64 bit, Some programming language including COBOL limited to 31bits.
The 'line' is a logical division of virtual memory on the IBM. In the old days, addressing was limited to 24 bits or 16 megabytes. All programs ran below the 16M line so that the program was able to address it's data and instructions. If the data or instructions were placed above that 16M, the program would not be able to address these items. With the advent of 31 bit addressing, programs can now keep tract of address spaces above the 16M line. In fact 2 gigabytes is now available for use.
To retain backward compatibility, IBM allowed 24bit programs to remain after the introduction of 31 bit addressing by use of an addressing mode. A program compiled AMODE24 tells the compiler that all addresses in the program are 24bit. AMODE31 says all addresses in the program should be treated as 31 bit addresses. There may be operational issues for this, such as requirements of operating system calls or the fact that you still use an old version of COBOL. But most likely the application was just original written in a 24 bit world. Conversions can be tricky because you can't pass a 31 bit address to a 24 bit program. So you must really understand who the program is talking to. So basically, if a program is running in the 16 megabyte space (24 bit addressing) it is said to be running 'below the line'. If the program is running with 31 bit addressing and the program is loaded into virtual storage above the 16 megabyte address, it is said to be running 'above the line.'
Why 31 bits and not 32 bits? The IBM operating system uses the 32nd bit to identify whether the address is a 24 or 31 bit address. If bit 32 is 0 the address is treated as a 24 bit value. If bit 32 is 1, the address is treated as a 31 bit value.
64-bit virtual storage first became available in z/OS V1R2. This storage is also known as “above the bar” storage. The “bar” refers to the 2 GB line which was the 31-bit virtual addressing limit since 370-XA was introduced and was the virtual addressing limit for MVS OSs starting with MVS/XA and continuing through MVS/ESA, OS/390 and z/OS V1R1. The initial 64-bit virtual support in z/OS V1R2 was for private storage only, but in z/OS V1R5 IBM introduced 64-bit shared virtual storage as well.
Starting with z/OS 1.5, the 64-bit address space memory looks like:
The area that’s reserved between 2 GB and 4 GB isn’t used by z/OS even though it’s supported by z/Architecture. This was a convenient (and very wise) design that the developers came up with so the OS could avoid misinterpreting 31-bit addresses as 64-bit addresses in 64-bit programs processing 32-bit address words that had the high order bit set on either unintentionally (leftover garbage) or intentionally for something meaningful. Call this a lesson learned from the 24-bit to 31-bit XA jump. Trying to use an address in this “dead zone” will result in an 0C4 abend since the addresses are never valid in z/OS. In essence, the “bar” is really 2 GB thick in z/OS.
z/OS 64-bit virtual memory is organized as memory objects which programs create and manage using the IARV64 macro. The memory objects are allocated in 1 MB increments and are on a 1 MB boundary. The memory is intended to be used for data only at this point, not executable instructions. There is no RMODE=64 binder support (and may never be).
Principles of Operation -SA22-7832
Assembler
General Information - GC26-4943
Programmer's Guide - SC26-4941
Language Reference - SC26-4940
COBOL
Language Reference - SC27-1408
Compiler and Run-Time Migration - GC27-1409
CICS
Application Programming Guide - SC33-1687
Application Programming Reference - SC33-1688
CICS External Interfaces Guide - SC34-6449-00
JCL
Websphere MQ
TCP/IP
CICS TCP/IP Socket Interface Guide
TCP/IP Tutorial and Technical Overview
Database and File Services
Using IBM 3390 in an MVS Environment
Language Environment
SecureWay Communications Server
Preserving Variable Record Lengths in Edit (=3.4)
The editor will remember the oringial record length from when the file is first read. This support is available through at least 2 functions;
1. Preserve Command
2. Edit Entry panels has a field call Preserve VB length
There is a sample edit macro called ISRSETLN that you can use to query and set record lengths. Type ISRSETLN on command line and place cursor on record that information is needed for
DDLIST Utility
DDLIST, which is now the preferred method of extracting this information from a running system. Principally, they provide an easy method for examining your current allocated data sets and their associated DDs.
Swap Screens
Fast way to swap and start an application is to issue command START <menu option>. This will open a second window with the menu option running.
SecureWay Communications Server for OS/390 (CS for OS/390) enables the user to interactively run TCP/IP applications (TCP/IP commands) from both the Time Sharing Option (TSO) and the OS/390 shell.