INSTRUCTION GROUPS
MOTOROLA
INSTRUCTION SET INTRODUCTION
6 - 25
6.4.3 Bit Manipulation Instructions
The bit manipulation instructions test the state of any single bit in a memory location or a
register and then optionally set, clear, or invert the bit. The carry bit of the CCR will contain
the result of the bit test. The following list defines the bit manipulation instructions:
BCLR
Bit Test and Clear
BSET
Bit Test and Set
BCHG
Bit Test and Change
BTST
Bit Test on Memory and Registers
6.4.4 Loop Instructions
The hardware DO loop executes with no overhead cycles after the DO instruction itself
has been executed– i.e., it runs as fast as straight-line code. Replacing straight-line code
with DO loops can significantly reduce program memory. The loop instructions control
hardware looping by 1) initiating a program loop and establishing looping parameters or
by 2) restoring the registers by pulling the SS when terminating a loop. Initialization
includes saving registers used by a program loop (LA and LC) on the SS so that program
loops can be nested. The address of the first instruction in a program loop is also saved
to allow no-overhead looping. The loop instructions are as follows:
DO
Start Hardware Loop
ENDDO
Exit from Hardware Loop
Both static and dynamic loop counts are supported in the following forms:
DO #xxx,Expr
;
(Static)
DO S,Expr ;
(Dynamic)
Expr is an assembler expression or absolute address, and S is a directly addressable reg-
ister such as X0.
The operation of a DO loop is shown in Figure 6-13. When a program loop is initiated with
the execution of a DO instruction, the following events occur:
1. The stack is pushed.
A. The SP is incremented.
B. The current 16-bit LA and 16-bit LC registers are pushed onto the SS to
allow nested loops.
C. The LC register is initiated with the loop count value specified in the DO
instruction.
Summary of Contents for DSP56K
Page 12: ...xii LIST of TABLES MOTOROLA List of Tables Continued Table Page Number Title Number ...
Page 13: ...MOTOROLA DSP56K FAMILY INTRODUCTION 1 1 SECTION 1 DSP56K FAMILY INTRODUCTION ...
Page 31: ...MOTOROLA DATA ARITHMETIC LOGIC UNIT 3 1 SECTION 3 DATA ARITHMETIC LOGIC UNIT ...
Page 50: ...DATA ALU SUMMARY 3 20 DATA ARITHMETIC LOGIC UNIT MOTOROLA ...
Page 51: ...MOTOROLA ADDRESS GENERATION UNIT 4 1 SECTION 4 ADDRESS GENERATION UNIT ...
Page 77: ...MOTOROLA PROGRAM CONTROL UNIT 5 1 SECTION 5 PROGRAM CONTROL UNIT ...
Page 124: ...INSTRUCTION GROUPS 6 30 INSTRUCTION SET INTRODUCTION MOTOROLA ...
Page 125: ...MOTOROLA PROCESSING STATES 7 1 SECTION 7 PROCESSING STATES STOP WAIT EXCEPTION NORMAL RESET ...
Page 167: ...STOP PROCESSING STATE MOTOROLA PROCESSING STATES 7 43 ...
Page 168: ...STOP PROCESSING STATE 7 44 PROCESSING STATES MOTOROLA ...
Page 169: ...MOTOROLA PORT A 8 1 SECTION 8 PORT A ...
Page 176: ...PORT A INTERFACE 8 8 PORT A MOTOROLA ...
Page 177: ...MOTOROLA PLL CLOCK OSCILLATOR 9 1 SECTION 9 PLL CLOCK OSCILLATOR x x d Φ VCO ...
Page 191: ...10 2 ON CHIP EMULATION OnCE MOTOROLA SECTION 10 ON CHIP EMULATION OnCE ...
Page 218: ...USING THE OnCE MOTOROLA ON CHIP EMULATION OnCE 10 29 ...
Page 604: ...INSTRUCTION ENCODING A 338 INSTRUCTION SET DETAILS MOTOROLA ...
Page 605: ...MOTOROLA BENCHMARK PROGRAMS B 1 APPENDIX B BENCHMARK PROGRAMS T T T T T P1 P3 P2 P4 T T T ...
Page 609: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 5 ...
Page 611: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 7 ...
Page 613: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 9 ...
Page 615: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 11 ...