Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

360 Assembly/360 Instructions/AH

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

__TOC__ AH - Add Halfword - Opcode 4A Format AH 2,N2 AH 11,106(0,10) The specific syntax is AH target register,offset(index register,base register) Where the offset, 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. RX Instruction (4 bytes)Byte 1Byte 2Bytes 3 and 4target registerSource Address(8 bits)Opcode4A(4 bits) 0..F(4 bits)indexregister0..F(4 bits)baseregister0..F(12 bits)offset0..FFF The first argument is a target register which value is affected by the instruction. The second argument is the source value location. The mask, base_register and index_register values are 0 to 15. The offset value is 0 to 4095. Availability The AH instruction is available on all models of the 360, 370 and z/System. Operation The AH instruction reads 16-bit integer value from the memory address specified by the argument, expands it to 32 bits as signed and adds it to the value of register specified by the first argument. The Condition Code field in the Program Status Word is changed according to the resulting value. Expansion is done as duplication of the most significant bit of the source value to higher 16 bits of expanded value. The source argument address shall be aligned to half word boundary (i.e. 2 bytes). Condition Codes If signed integer overflow occurs, i.e. sum is not between -2**31 and 2**31-1, CC is set to 3. Otherwise, CC is set to 0, 1 or 2, if sum is equal to zero, below zero or above zero accordingly. Exceptions and Faults If signed integer overflow is detected and the bit 36 in PSW is set, operation exception occurs. The target address must be within the range of valid memory or an operation exception occurs. The storage key for the source address must be the same as the current process or a memory protect violate exception occurs. Related instructions To add value from register, see AR. To add word value from memory, see A. To add value and set condition codes according to unsigned arithmetic, or add not most significant part of multi-word integer value, see AL or ALR. To add floating-point values, see AE, AER, AD or ADR. To subtract half-word value from memory, see SH. AER AR 49 CH 4B SH