home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 335_02 / as6809.txt < prev    next >
Text File  |  1990-12-04  |  15KB  |  793 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        A.  Appendix_for_as6809_Frankenstein_Assembler
  9.  
  10.        A.1  Pseudo_Operations
  11.  
  12.        A.1.1  Standard_Pseudo_Operation_Mnemonics
  13.  
  14.             End                                END
  15.             File Inclusion                     INCL INCLUDE
  16.             If                                 IF
  17.             Else                               ELSE
  18.             End If                             ENDI
  19.             Equate                             EQU
  20.             Set                                SET
  21.             Org                                ORG
  22.             Reserve Memory                     RESERVE RMB
  23.             Define Byte Data                   BYTE DB FCB
  24.             Define Word Data                   DW FDB WORD
  25.             Define String Data                 FCC STRING
  26.             Define Character Set Translation   CHARSET
  27.             Define Character Value             CHARDEF CHD
  28.             Use Character Translation          CHARUSE
  29.  
  30.        A.2  Instructions
  31.  
  32.        A.2.1  Instruction_List
  33.  
  34.        Opcode   Syntax                   Selection Criteria
  35.  
  36.  
  37.        ABX
  38.  
  39.        ADCA      '#' expr
  40.        ADCA      expr                    DIRECT
  41.        ADCA      expr                    EXTENDED
  42.        ADCA      indexed
  43.  
  44.        ADCB      '#' expr
  45.        ADCB      expr                    DIRECT
  46.        ADCB      expr                    EXTENDED
  47.        ADCB      indexed
  48.  
  49.        ADDA      '#' expr
  50.        ADDA      expr                    DIRECT
  51.        ADDA      expr                    EXTENDED
  52.        ADDA      indexed
  53.  
  54.        ADDB      '#' expr
  55.        ADDB      expr                    DIRECT
  56.        ADDB      expr                    EXTENDED
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        Opcode   Syntax                   Selection Criteria
  75.  
  76.        ADDB      indexed
  77.  
  78.        ADDD      '#' expr
  79.        ADDD      expr                    DIRECT
  80.        ADDD      expr                    EXTENDED
  81.        ADDD      indexed
  82.  
  83.        ANDA      '#' expr
  84.        ANDA      expr                    DIRECT
  85.        ANDA      expr                    EXTENDED
  86.        ANDA      indexed
  87.  
  88.        ANDB      '#' expr
  89.        ANDB      expr                    DIRECT
  90.        ANDB      expr                    EXTENDED
  91.        ANDB      indexed
  92.  
  93.        ANDCC     '#' expr
  94.  
  95.        ASL       expr                    DIRECT
  96.        ASL       expr                    EXTENDED
  97.        ASL       indexed
  98.  
  99.        ASLA
  100.  
  101.        ASLB
  102.  
  103.        ASR       expr                    DIRECT
  104.        ASR       expr                    EXTENDED
  105.        ASR       indexed
  106.  
  107.        ASRA
  108.  
  109.        ASRB
  110.  
  111.        BCC       expr
  112.  
  113.        BCS       expr
  114.  
  115.        BEQ       expr
  116.  
  117.        BGE       expr
  118.  
  119.        BGT       expr
  120.  
  121.        BHI       expr
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.        Opcode   Syntax                   Selection Criteria
  141.  
  142.        BHS       expr
  143.  
  144.        BITA      '#' expr
  145.        BITA      expr                    DIRECT
  146.        BITA      expr                    EXTENDED
  147.        BITA      indexed
  148.  
  149.        BITB      '#' expr
  150.        BITB      expr                    DIRECT
  151.        BITB      expr                    EXTENDED
  152.        BITB      indexed
  153.  
  154.        BLE       expr
  155.  
  156.        BLO       expr
  157.  
  158.        BLS       expr
  159.  
  160.        BLT       expr
  161.  
  162.        BMI       expr
  163.  
  164.        BNE       expr
  165.  
  166.        BPL       expr
  167.  
  168.        BRA       expr
  169.  
  170.        BRN       expr
  171.  
  172.        BSR       expr
  173.  
  174.        BVC       expr
  175.  
  176.        BVS       expr
  177.  
  178.        CLR       expr                    DIRECT
  179.        CLR       expr                    EXTENDED
  180.        CLR       indexed
  181.  
  182.        CLRA
  183.  
  184.        CLRB
  185.  
  186.        CMPA      '#' expr
  187.        CMPA      expr                    DIRECT
  188.        CMPA      expr                    EXTENDED
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.        Opcode   Syntax                   Selection Criteria
  207.  
  208.        CMPA      indexed
  209.  
  210.        CMPB      '#' expr
  211.        CMPB      expr                    DIRECT
  212.        CMPB      expr                    EXTENDED
  213.        CMPB      indexed
  214.  
  215.        CMPD      '#' expr
  216.        CMPD      expr                    DIRECT
  217.        CMPD      expr                    EXTENDED
  218.        CMPD      indexed
  219.  
  220.        CMPS      '#' expr
  221.        CMPS      expr                    DIRECT
  222.        CMPS      expr                    EXTENDED
  223.        CMPS      indexed
  224.  
  225.        CMPU      '#' expr
  226.        CMPU      expr                    DIRECT
  227.        CMPU      expr                    EXTENDED
  228.        CMPU      indexed
  229.  
  230.        CMPX      '#' expr
  231.        CMPX      expr                    DIRECT
  232.        CMPX      expr                    EXTENDED
  233.        CMPX      indexed
  234.  
  235.        CMPY      '#' expr
  236.        CMPY      expr                    DIRECT
  237.        CMPY      expr                    EXTENDED
  238.        CMPY      indexed
  239.  
  240.        COM       expr                    DIRECT
  241.        COM       expr                    EXTENDED
  242.        COM       indexed
  243.  
  244.        COMA
  245.  
  246.        COMB
  247.  
  248.        CWAI      '#' expr
  249.  
  250.        DAA
  251.  
  252.        DEC       expr                    DIRECT
  253.        DEC       expr                    EXTENDED
  254.        DEC       indexed
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.        Opcode   Syntax                   Selection Criteria
  273.  
  274.  
  275.        DECA
  276.  
  277.        DECB
  278.  
  279.        EORA      '#' expr
  280.        EORA      expr                    DIRECT
  281.        EORA      expr                    EXTENDED
  282.        EORA      indexed
  283.  
  284.        EORB      '#' expr
  285.        EORB      expr                    DIRECT
  286.        EORB      expr                    EXTENDED
  287.        EORB      indexed
  288.  
  289.        EXG       register ',' register
  290.  
  291.        INC       expr                    DIRECT
  292.        INC       expr                    EXTENDED
  293.        INC       indexed
  294.  
  295.        INCA
  296.  
  297.        INCB
  298.  
  299.        JMP       expr                    DIRECT
  300.        JMP       expr                    EXTENDED
  301.        JMP       indexed
  302.  
  303.        JSR       expr                    DIRECT
  304.        JSR       expr                    EXTENDED
  305.        JSR       indexed
  306.  
  307.        LBCC      expr
  308.  
  309.        LBCS      expr
  310.  
  311.        LBEQ      expr
  312.  
  313.        LBGE      expr
  314.  
  315.        LBGT      expr
  316.  
  317.        LBHI      expr
  318.  
  319.        LBHS      expr
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.        Opcode   Syntax                   Selection Criteria
  339.  
  340.        LBLE      expr
  341.  
  342.        LBLO      expr
  343.  
  344.        LBLS      expr
  345.  
  346.        LBLT      expr
  347.  
  348.        LBMI      expr
  349.  
  350.        LBNE      expr
  351.  
  352.        LBPL      expr
  353.  
  354.        LBRA      expr
  355.  
  356.        LBRN      expr
  357.  
  358.        LBSR      expr
  359.  
  360.        LBVC      expr
  361.  
  362.        LBVS      expr
  363.  
  364.        LDA       '#' expr
  365.        LDA       expr                    DIRECT
  366.        LDA       expr                    EXTENDED
  367.        LDA       indexed
  368.  
  369.        LDB       '#' expr
  370.        LDB       expr                    DIRECT
  371.        LDB       expr                    EXTENDED
  372.        LDB       indexed
  373.  
  374.        LDD       '#' expr
  375.        LDD       expr                    DIRECT
  376.        LDD       expr                    EXTENDED
  377.        LDD       indexed
  378.  
  379.        LDS       '#' expr
  380.        LDS       expr                    DIRECT
  381.        LDS       expr                    EXTENDED
  382.        LDS       indexed
  383.  
  384.        LDU       '#' expr
  385.        LDU       expr                    DIRECT
  386.        LDU       expr                    EXTENDED
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                   - 7 -
  401.  
  402.  
  403.  
  404.        Opcode   Syntax                   Selection Criteria
  405.  
  406.        LDU       indexed
  407.  
  408.        LDX       '#' expr
  409.        LDX       expr                    DIRECT
  410.        LDX       expr                    EXTENDED
  411.        LDX       indexed
  412.  
  413.        LDY       '#' expr
  414.        LDY       expr                    DIRECT
  415.        LDY       expr                    EXTENDED
  416.        LDY       indexed
  417.  
  418.        LEAS      indexed
  419.  
  420.        LEAU      indexed
  421.  
  422.        LEAX      indexed
  423.  
  424.        LEAY      indexed
  425.  
  426.        LSL       expr                    DIRECT
  427.        LSL       expr                    EXTENDED
  428.        LSL       indexed
  429.  
  430.        LSLA
  431.  
  432.        LSLB
  433.  
  434.        LSR       expr                    DIRECT
  435.        LSR       expr                    EXTENDED
  436.        LSR       indexed
  437.  
  438.        LSRA
  439.  
  440.        LSRB
  441.  
  442.        MUL
  443.  
  444.        NEG       expr                    DIRECT
  445.        NEG       expr                    EXTENDED
  446.        NEG       indexed
  447.  
  448.        NEGA
  449.  
  450.        NEGB
  451.  
  452.        NOP
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                   - 8 -
  467.  
  468.  
  469.  
  470.        Opcode   Syntax                   Selection Criteria
  471.  
  472.  
  473.        ORA       '#' expr
  474.        ORA       expr                    DIRECT
  475.        ORA       expr                    EXTENDED
  476.        ORA       indexed
  477.  
  478.        ORB       '#' expr
  479.        ORB       expr                    DIRECT
  480.        ORB       expr                    EXTENDED
  481.        ORB       indexed
  482.  
  483.        ORCC      '#' expr
  484.  
  485.        PSHS      register list
  486.  
  487.        PSHU      register list
  488.  
  489.        PULS      register list
  490.  
  491.        PULU      register list
  492.  
  493.        ROL       expr                    DIRECT
  494.        ROL       expr                    EXTENDED
  495.        ROL       indexed
  496.  
  497.        ROLA
  498.  
  499.        ROLB
  500.  
  501.        ROR       expr                    DIRECT
  502.        ROR       expr                    EXTENDED
  503.        ROR       indexed
  504.  
  505.        RORA
  506.  
  507.        RORB
  508.  
  509.        RTI
  510.  
  511.        RTS
  512.  
  513.        SBCA      '#' expr
  514.        SBCA      expr                    DIRECT
  515.        SBCA      expr                    EXTENDED
  516.        SBCA      indexed
  517.  
  518.        SBCB      '#' expr
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                   - 9 -
  533.  
  534.  
  535.  
  536.        Opcode   Syntax                   Selection Criteria
  537.  
  538.        SBCB      expr                    DIRECT
  539.        SBCB      expr                    EXTENDED
  540.        SBCB      indexed
  541.  
  542.        SEX
  543.  
  544.        STA       expr                    DIRECT
  545.        STA       expr                    EXTENDED
  546.        STA       indexed
  547.  
  548.        STB       expr                    DIRECT
  549.        STB       expr                    EXTENDED
  550.        STB       indexed
  551.  
  552.        STD       expr                    DIRECT
  553.        STD       expr                    EXTENDED
  554.        STD       indexed
  555.  
  556.        STS       expr                    DIRECT
  557.        STS       expr                    EXTENDED
  558.        STS       indexed
  559.  
  560.        STU       expr                    DIRECT
  561.        STU       expr                    EXTENDED
  562.        STU       indexed
  563.  
  564.        STX       expr                    DIRECT
  565.        STX       expr                    EXTENDED
  566.        STX       indexed
  567.  
  568.        STY       expr                    DIRECT
  569.        STY       expr                    EXTENDED
  570.        STY       indexed
  571.  
  572.        SUBA      '#' expr
  573.        SUBA      expr                    DIRECT
  574.        SUBA      expr                    EXTENDED
  575.        SUBA      indexed
  576.  
  577.        SUBB      '#' expr
  578.        SUBB      expr                    DIRECT
  579.        SUBB      expr                    EXTENDED
  580.        SUBB      indexed
  581.  
  582.        SUBD      '#' expr
  583.        SUBD      expr                    DIRECT
  584.        SUBD      expr                    EXTENDED
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                   - 10 -
  599.  
  600.  
  601.  
  602.        Opcode   Syntax                   Selection Criteria
  603.  
  604.        SUBD      indexed
  605.  
  606.        SWI2
  607.  
  608.        SWI3
  609.  
  610.        SWI
  611.  
  612.        SYNC
  613.  
  614.        TFR       register ',' register
  615.  
  616.        TST       expr                    DIRECT
  617.        TST       expr                    EXTENDED
  618.        TST       indexed
  619.  
  620.        TSTA
  621.  
  622.        TSTB
  623.  
  624.        A.2.2  Operand_Types
  625.  
  626.        A.2.2.1  register_list  The operands for the push and pull
  627.        operations consist of a list of one or more registers
  628.        seperated by commas.  The stack pointer associated with an
  629.        operator will give an error if it occurs in the list.  The
  630.        registers can be D, X, Y, U, S, PC, A, B, CC, DP and their
  631.        lower case equivalents.  For the push and pull operations,
  632.        the D register is an alias for the A and B registers, and
  633.        will result in two selection bits set in the postbyte.
  634.  
  635.        A.2.2.2  indexed  The indexed mode operands are in the
  636.        forms.
  637.  
  638.             , index
  639.             expr , index
  640.             accumulator , index
  641.             , index +
  642.             , index ++
  643.             , - index
  644.             , -- index
  645.             expr , PCR
  646.             [ , index ]
  647.             [ expr , index ]
  648.             [ accumulator , index ]
  649.             [ , index ++ ]
  650.             [ , -- index ]
  651.             [ expr , PCR ]
  652.             [ expr ]
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                   - 11 -
  665.  
  666.  
  667.  
  668.        Index can be any of X, Y, S, U (or their lower case
  669.        equivalents). Accumulator can be any of A, B, D (or their
  670.        lower case equivalents).
  671.  
  672.        The short offset forms will only be used if the expression
  673.        in the operand has a value defined at the first pass, and
  674.        the value is small enough to fit.  Expressions that have an
  675.        as yet undefined value will use the 16 bit offset form.
  676.  
  677.        A.2.3  Selection_Criteria_Keywords
  678.  
  679.             DIRECT              The instruction can use the direct
  680.                                 addressing mode. The expression
  681.                                 must have a value between 0 and 255
  682.                                 that is defined when the
  683.                                 instruction is processed in the
  684.                                 input pass.
  685.  
  686.             EXTENDED            The instruction can use the
  687.                                 extended addressing mode.
  688.  
  689.        A.2.4  Apostrophes  The apostrophes in the syntax field are
  690.        a notation used for the parser generator and are not put in
  691.        the assembler source statement.
  692.  
  693.        A.3  Notes
  694.  
  695.        A.3.1  Reserved_Symbols
  696.  
  697.        A.3.1.1  Machine_Dependent_Reserved_Symbols  A B CC D DP PC
  698.        PCR S U X Y a b cc d dp pc pcr s u x y
  699.  
  700.        A.3.1.2  Standard_Reserved_Symbols  AND DEFINED EQ GE GT
  701.        HIGH LE LOW LT MOD NE NOT OR SHL SHR XOR and defined eq ge
  702.        gt high le low lt mod ne not or shl shr xor
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.                                  CONTENTS
  735.  
  736.  
  737.        A.  Appendix for as6809 Frankenstein Assembler..........   1
  738.            A.1  Pseudo Operations..............................   1
  739.            A.2  Instructions...................................   1
  740.            A.3  Notes..........................................  11
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.                                   - i -
  789.  
  790.  
  791.  
  792.  
  793.