360 Assembly/360 Instructions/ST

< 360 Assembly < 360 Instructions

ST - Store - Opcode 50 - RX format Instruction (32 Bit)

Format

ST 2,N2
ST 11,106(8,10)

The specific syntax is

ST source register,displacement(index register,base register)

Where the displacement, index register and base register values will be determined automatically by the assembler if the USING pseudo-instruction has been used, and the target address label used is within 4096 bytes of the value of some base register.

Opcode

RX Instruction (4 bytes)
Byte 1 Byte 2 Bytes 3 and 4
source register Target Address
(In Hex) (8 bits)
Opcode
50
(4 bits)

0..F
(4 bits)
index
register

0..F
(4 bits)
base
register

0..F
(12 bits)
displacement
0..FFF

The target and base_register values will be determined automatically by the assembler if the USING pseudo-instruction has been used, and the target address label used (the displacement) is within 4096 bytes of the value of some base register.

Availability

The ST instruction is available on all models of the 360, 370 and z/System.

Operation

The ST instruction takes the 32-bit integer value contained in the source register specified by the first argument and stores that value in the memory address specified by the second argument (the target address).

The target address is constructed by taking the value stored in the base register, adding to it the value of the 12-bit offset (called a displacement) address, then adding the value stored in the index register (unless the index register is 0, then its contents are not added) to the base and displacement address, to determine the target address. In the above example of the address 106(8,10), the address value stored in register 10 is added to the displacement address 106 (hexadecimal 6A), then the address value stored in register 8 is added to this to create the target address. Had register 0 been used instead of 8, the value stored in register 0 would not have been used.

The target address must be aligned to a word boundary (i.e. 4 bytes). The Condition Code field in the Program Status Word is not changed.

Exceptions and Faults

32-Bit Instructions

64-Bit Instructions

Previous Instruction
SSM
360 Assembly Instructions   Next Instruction
STAP
Previous Opcode
4F
Next Opcode
51
360 Assembly Language
360 Family Introduction · Basic FAQ · 360 Family · 360 Architecture
360 Instruction Set 360 Instructions · Branch Instructions · Data Transfer Instructions · Control Flow Instructions · Arithmetic Instructions · Logic Instructions · Shift and Rotate Instructions · Other Instructions
Syntaxes and Assemblers 360 Assemblers· Pseudo Instructions
Instruction Extensions Floating Point · High-Level Languages
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.