12.07.2015 Views

1. xerox 560 computer system - The UK Mirror Service

1. xerox 560 computer system - The UK Mirror Service

1. xerox 560 computer system - The UK Mirror Service

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

If no indirect addressing or indexing is used with DSA, theshift count C is the confents of bit positions 16-31 of theinstruction word. If on Iy indirect addressing is used withDSA, the shift count is the contents of bit positions 16-31of the word pointed to by the indirect address in the instructionword. If indexing only is used with DSA, theshift count is the contents of bit positions 16-31 of theinstruction word plus the contents of bit positions 14-29of the designated index register (bits 0-13, 30, and 31 ofthe index are ignored). If indirect addressing and indexingare both used with DSA, the shift count is the sum of thecontents of bit positions 16-31 of the word pointed to by theindirect address and the contents of bit positions 14-29 ofthe designated index register.<strong>The</strong> shift count, C, is treated as a 16-bit signed binaryinteger, with negative integers in two·s complement form.If the shift count is positive, the contents of the decimalaccumulator are shifted left C decimal digit positions; ifthe shift count is negative, the contents of the decimalaccumulator are shifted right -C decimal digit positions.In either case, the decimal sign is not shifted, vacateddecimal digit positions are fi lied with O·s, and any digitsshifted out of the decimal accumulator are lost. Althoughthe range of possible values for C is 2-15 $ C $ 215-<strong>1.</strong>a shift count greater than +31 or less than -31 is interpretedas a shift count of exactly +31 or -3<strong>1.</strong>PACKPACK DECIMAL DIGITS(Byte index alignment)PACK DECIMAL DIGITS converts the effective decimaloperand (assumed to be in zoned format) into a packeddecimal number and, if necessary, appends sufficient highorderO·s to produce a decimal number that is 16 bytes(31 decimal digits plus sign) in length. <strong>The</strong> zone (bits 0-3)of the low-order digit of the effective deci mal operand isused to select the sign code for the packed decimal number;all other zones are ignored in formatting the packed decimalnumber. If no i /legal digit or sign appears in the packeddecimal number, it is then loaded into the decimal accumulator.If the result in the decimal accumulator is zero,the resulting sign remains unchanged.<strong>The</strong> L field of this instruction specifies the length, in bytes,of the resultant packed decimal number in the decimal accumulator;therefore, the length of the effective decimaloperand is 2L-1 bytes (where L = 0 implies a length of31 bytes for the effecti ve deci ma I operand).Affected: (DECA), CCTrap: Decimal arithmeticIf any nonzero decimal digit is shifted out of the decimalaccumulator during a left shift, CC2 is set to 1; otherwise,CC2 is reset to O. CC2 is unconditionally reset to 0 at the •completion of a right shift.packed (EBL to EBL + 2L - 2) -DECACondition code settings:Affected: (DECA), CCCondition code settings:Trap: Decimal arithmetic2 3 4 Result in DECAo - - Illegal digit or sign detected, instructionaborted2 3 4 Result in DECAoo - 0 0 ZeroIllegal digit or sign detected, instructionabortedo 0 0 0 ZeroNo i /legal digit or sign0 0 0 Negative detected, instructioncompleted0 0 0 Positiveo - 0NegativeExample 1, L = 6:o - 0 Positiveo 0oRight shift or no nonzerodigit shifted outof DECA on left shiftOne or more nonzerodigit(s) shifted out ofDECA on left shiftNo illegal digitor sign detected,i nstructi oncompletedBefore executionAfter executionEDO X·FOF1F2F3 X·FOF1F2F3F4F5F6F7F4F5F6F7F8F9FO·F8F9FO·(DECA) xxxxxxxx X·OOOOOOOOxxxxxxxx 00000000xxxxxxxx 00000123xxxxxxxx 4567890C·CC xxxx 0010Decimal Instructions 85

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!