•  Back 
  •  Instruction Set 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : MC56001 Documentation
Author      : JAY Software
Version     : 1.0 (19/11/1997)
Subject     : Programming/Assembler
Nodes       : 152
Index Size  : 4106
HCP-Version : 4
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : 
@help       : 
@options    : -i +y +z -t4
@width      : 100
View Ref-FileAND                     Logical AND

Operation:
    S & D[47:24] -> D[47:24] (parallel move)
    where & denotes the logical AND operator

Assembler Syntax:
    AND S,D             (parallel move)

Description:
    Logically AND the source operand S with bits 47-24 of the
destination operand D and store the result in bits 47-24 of the
destination accumulator. This instruction is a 24-bit operation. The
remaining bits of the destination operand D are not affected.

Example:
    AND X0,A    (R5)-N5     ;AND X0 with A1, update R5 using N5

    Before Execution:
        X0 = $FF0000
        A  = $00:123456:789ABC

    After Execution:
        X0 = $FF0000
        A  = $00:120000:789ABC

Explanation of Example:
    Prior to execution, the 24-bit X0 register contains the value
$FF0000, and the 56-bit A accumulator contains the value
$00:123456:789ABC. The AND X0,A instruction logically ANDs the 24-bit
value in the X0 register with bits 47-24 of the A accumulator (A1)
and stores the result in the the A accumulator with bits 55-48 and
23-0 unchanged.

Condition Codes:

     15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
    |LF|**| T|**|S1|S0|I1|I0|**| L| E| U| N| Z| V| C|
    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
    |<-           MR         ->|<-       CCR      ->|

    L- Set if data limiting has occured during parallel move
    N- Set if bit 47 of A or B result is set
    Z- Set if bits 47-24 A or B result are zero
    V- Always cleared

Instruction Format:
    AND S,D

    S = (X0,X1,Y0,Y1)
    D = (A,B)

Timing:     2 + mv oscillator clock cycles

Memory:     1 + mv program words