section 7 - Index of

section 7 - Index of section 7 - Index of

11.07.2015 Views

ADDR Shift Right and Add Accumulators ADDROperation:S+D / 2--tD (parallel move)Assembler Syntax:ADDR S,D (parallel move)Description: Add the source operand S to one-half the destination operand D and storethe result in the destination accumulator. The destination operand D is arithmeticallyshifted one bit to the right while the MS bit of D is held constant prior to the addition operation.In contrast to the ADDL instruction, the carry bit is always set correctly, and theoverflow bit can only be set by the addition operation and not by an overflow due to theinitial shifting operation. This instruction is useful for efficient divide and decimation intime (DIT) FFT algorithms.Example:ADDR 8,A XO,X:(R1)+N1 YO,Y:(R4)-;B+A / 2--tA, save XO and YOBefore ExecutionA '~___$8_0:_00_00_0_0:2_4_68_AC __ ~After ExecutionA ,'----_$_C_0:0_13_57_0_:12_3_45_6_--'B '~ __ $_0_0:0_1_35_70_:0_00_0_00 __ ~B ,$00:013570:000000'-------------~Explanation of Example: Prior to execution, the 56-bit A accumulator contains thevalue $80:000000:2468AC, and the 56-bit 8 accumulator contains the value$00:013570:000000. The ADDR B,A instruction adds one-half the value in the A accumulatorto the value in the B accumulator and stores the 56-bit result in the A accumulator.-

ADDR Shift Right and Add Accumulators ADDRCondition Codes:I LF I OM I T I .. I 8' I 80 I 11I [0 I s I L I E I u I N I z15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0... MR • ~ CCRS - Computed according to the definition in A.5 CONDITION CODE COMPUTATIONL - Set if limiting (parallel move) or overflow has occurred in resultE - Set if the signed integer portion of A or B result is in useU - Set if A or B result is unnormalizedN - Set if bit 55 of A or B result is setZ- Set if A or B result equals zeroV - Set if overflow has occurred in A or B resultC - Set if a carry (or borrow) occurs from bit 55 of A or B result.Note: The definitions of the E and U bits vary according to the scaling mode being used.Refer to Section A.5 for complete details.Instruction Format:ADDR 8,DOpcode:23 8 7 4 3DATA BUS MOVE FIELD I 0 0 o 0 I dOPTIONAL EFFECTIVE ADDRESS EXTENSIONoooInstruction Fields:S,D dB,A 0A,B 1Timing: 2+mv oscillator clock cyclesMemory: 1 +mv program words-

ADDR Shift Right and Add Accumulators ADDRCondition Codes:I LF I OM I T I .. I 8' I 80 I 11I [0 I s I L I E I u I N I z15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0... MR • ~ CCRS - Computed according to the definition in A.5 CONDITION CODE COMPUTATIONL - Set if limiting (parallel move) or overflow has occurred in resultE - Set if the signed integer portion <strong>of</strong> A or B result is in useU - Set if A or B result is unnormalizedN - Set if bit 55 <strong>of</strong> A or B result is setZ- Set if A or B result equals zeroV - Set if overflow has occurred in A or B resultC - Set if a carry (or borrow) occurs from bit 55 <strong>of</strong> A or B result.Note: The definitions <strong>of</strong> the E and U bits vary according to the scaling mode being used.Refer to Section A.5 for complete details.Instruction Format:ADDR 8,DOpcode:23 8 7 4 3DATA BUS MOVE FIELD I 0 0 o 0 I dOPTIONAL EFFECTIVE ADDRESS EXTENSIONoooInstruction Fields:S,D dB,A 0A,B 1Timing: 2+mv oscillator clock cyclesMemory: 1 +mv program words-

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

Saved successfully!

Ooh no, something went wrong!