## ASSCMP Assembler

####

    SC/MP REGISTER SET

    The following is a list of the SC/MP registers used by ASSCMP:

            p0,pc      -    16-bit program counter
            p1,p2,p3   -    16-bit pointer registers

    SC/MP ADDRESSING MODES

         The  general addressing modes are normally described in the
    form @DISP(X) which correspond to these specific modes:

        DISP        a PC relative address
        DISP(X)     a DISPlacement from a pointer register
        @DISP(X)    An auto-increment DISPlacement from a
                    pointer register

         The ASSCMP assembler also allows the ( and ) designators to
    be replaced by the [ and ] designators.

         The  ASSCMP  assembler  also allows several shorthand nota-
    tions for the addressing modes as shown here:

        (X)         ==>>    0(X)
        @(X)        ==>>    @0(X)
        @DISP       ==>>    @DISP(PC)

         The  xpal,  xpah,  and  xppc  instructions  require  only a
    pointer register - p0, p1, p2, p3, or pc.

         The  standard  memory reference instructions:  ld, and, or,
    xor, dad, add, and cad also allow an  alternate  immediate  mode
    instruction using the following format:

        ld  #DATA

         The  #  is  required otherwise DATA will be treated as a PC
    relative address.

         The  immediate mode instructions:  ldi, ani, ori, xri, dai,
    adi, and cai allow either of these forms:

        ldi #DATA
        ldi DATA

    SC/MP INSTRUCTION SET

         The following tables list all SC/MP mnemonics recognized by
    the ASSCMP assembler.

    Memory Reference Instructions

            ld      @DISP(X) / #data        Load
            st      @DISP(X) -------        Store
            and     @DISP(X) / #data        AND
            or      @DISP(X) / #data        OR
            xor     @DISP(X) / #data        Exclusive OR
            dad     @DISP(X) / #data        Decimal Add
            add     @DISP(X) / #data        Add
            cad     @DISP(X) / #data        Complement and Add

    Immediate Instructions

            ldi     #data / data    Load Immediate
            ld      #data
            ani     #data / data    AND Immediate
            and     #data
            ori     #data / data    Or Immediate
            or      #data
            xri     #data / data    Exclusive Or Immediate
            xor     #data
            dai     #data / data    Decimal Add Immediate
            dad     #data
            adi     #data / data    Add Immediate
            add     #data
            cai     #data / data    Complement and Add Immediate
            cad     #data

    Extension Register Instructions

            lde             Load AC from Extension
            xae             Exchange AC and Extension
            ane             AND Extension
            ore             OR Extension
            xre             Exclusive Or Extension
            dae             Decimal Add Extension
            ade             Add Extension
            cae             Complement and Add Extension

    Memory Increment/Decrement Instructions

            dld     DISP(X)         Increment and Load
            ild     DISP(X)         Decrement  aand Load

    Transfer Instructions

            jmp     DISP(X)         Jump
            jp      DISP(X)         Jump if Positive
            jz      DISP(X)         Jump if Zero
            jnz     DISP(X)         Jump if Not Zero

    Pointer Register Move Instructions

            xpal    X               Exchange Pointer Low
            xpah    X               Exchange Pointer High
            xppc    X               Exchange Pointer with PC

    Shift, Rotate, Serial I/O Instructions

            sio             Serial Input/Output
            sr              Shift Right
            srl             Shift Right with Link
            rr              Rotate Right
            rrl             Rotate Right with Link

    Single-Byte Miscellaneous Instructions

            halt            Halt
            ccl             Clear Carry Link
            scl             Set Carry Link
            dint            Disable Interrupt
            ien             Enable Interrupt
            csa             Copy Status to AC
            cas             Copy AC to Status
            nop             No Operation

    Double-Byte Miscellaneous Instruction

            dly     #data / data    Delay

##### Go to the Documentation Index

... Exit the ASxxxx Documentation

... Home Page

###### Last Updated: March 2025