home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 17 / amigaformatcd17.iso / -in_the_mag- / emulation / 6809_docs / 6309.text next >
Text File  |  1997-07-01  |  116KB  |  4,291 lines

  1.      
  2.  
  3.      
  4.  
  5.      
  6.  
  7.      
  8.  
  9.      
  10.  
  11.      
  12.  
  13.      
  14.  
  15.      
  16.  
  17.                         HD63B09EP Technical Reference Guide
  18.  
  19.                                   By Chet Simpson
  20.  
  21.                     Additions by Alan DeKok
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.      
  66.  
  67.      
  68.  
  69.      
  70.  
  71.      
  72.  
  73.      
  74.  
  75.      
  76.  
  77.      
  78.  
  79.      
  80.  
  81.      
  82.  
  83.                                        INDEX
  84.  
  85.      
  86.  
  87.      
  88.  
  89.      
  90.  
  91.      
  92.  
  93.            Introduction.................................................1
  94.  
  95.            Summary of Features..........................................1
  96.  
  97.            Description of Additional Registers..........................2
  98.  
  99.            Modes of Operation...........................................3
  100.  
  101.            Native Mode and Timing Loops.................................3
  102.  
  103.            Modes of the Fast Interrupt Request (FIRQ)...................4
  104.  
  105.            Inter-Register Instructions..................................4
  106.  
  107.            Bit Manipulation of Memory Locations.........................4
  108.  
  109.            Bit Transfers Between Memory Locations and Registers.........5
  110.  
  111.            Block Transfers..............................................6
  112.  
  113.            New math instructions (MULD, DIVD, DIVQ).....................7
  114.  
  115.            Error Trapping...............................................7
  116.  
  117.            Additional instructions......................................7
  118.  
  119.      
  120.  
  121.            OP-Code Table...............................................10
  122.  
  123.      
  124.  
  125.            Mnemonic Table..............................................19
  126.  
  127.             Branch Instructions........................................24
  128.  
  129.             Bit Manipulation and Transfers.............................24
  130.  
  131.             Logical Memory Instructions................................25
  132.  
  133.             Inter-Register Instructions................................25
  134.  
  135.             Index Adressing Modes and Post- Byte Information...........26
  136.  
  137.             Register Description.......................................27
  138.  
  139.             Push/Pull Order............................................27
  140.  
  141.             Push/Pull Post-Byte........................................27
  142.  
  143.             Condition Code Register....................................27
  144.  
  145.      
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.      
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.    HD63B09EP Technical Reference Guide                                  Page  1
  198.  
  199.      
  200.  
  201.      
  202.  
  203.      
  204.  
  205.                                     Introduction
  206.  
  207.      
  208.  
  209.      
  210.  
  211.           The  HD63B09EP  microprocessor  by  Hitachi, is a MC68B09E compatible
  212.  
  213.      chip containing additional registers and an  additional  instruction  set.
  214.  
  215.      The  6309  was  thought  to  be  a  flakey  chip  though, because it would
  216.  
  217.      sometimes crash or change the values of registers when it  encountered  an
  218.  
  219.      addressing  mode or opcode invalid to the 6809. This was later found to be
  220.  
  221.      an extended instruction set and a feature that would trap some programming
  222.  
  223.      errors and jump to a specified location in memory.
  224.  
  225.      
  226.  
  227.           Hitachi  licensed  the  rights  of  the  6809  instruction  set from
  228.  
  229.      Motorola to make a 6809 compatible chip. When they  finished  the  design,
  230.  
  231.      they  found there was a lot of unused space in the chip. With this in mind
  232.  
  233.      they added extra registers and expanded on the instruction set, but due to
  234.  
  235.      the  licensing  agreement  with  Motorola, they were unable to release the
  236.  
  237.      information about the extra features.
  238.  
  239.      
  240.  
  241.           Not only did the chip have an expanded instruction set, but  it  also
  242.  
  243.      had  a  native mode that would run many of the instructions in fewer clock
  244.  
  245.      cycles and a mode select for the FIRQ (Fast Interrupt ReQuest) that  would
  246.  
  247.      enable it to opperate the same as the IRQ.
  248.  
  249.  
  250.  
  251.           In fact, all new instructions will execute in emulation mode, which
  252.  
  253.      was originally seen when 'illegal' 6809 instructions produced odd results
  254.  
  255.      when run on a computer with a 6309 installed.
  256.  
  257.      
  258.  
  259.           The  additional  instruction set was first written about in the April
  260.  
  261.      1988 issue of "Oh!FM", a Japanese magazine, and was  later  brought to
  262.  
  263.      the attention of the 6809 community by Hirotsugu Kakagawa.  He followed
  264.  
  265.      up a series of '6809-6309 differences' messages on comp.sys.m6809 by
  266.  
  267.      posting a detailed
  268.  
  269.      explanation of the new features and instructions of the 6309.
  270.  
  271.      This  opened a whole new door to those who wished to
  272.  
  273.      use the 6309 in place of the 6809.
  274.  
  275.      
  276.  
  277.           The  information in this reference is of technical nature and makes no
  278.  
  279.      attempt to teach assembly language programming. It  is  ONLY  a  technical
  280.  
  281.      reference  guide for those who already know assembly and wish to use these
  282.  
  283.      features in their programs. Although all of the opcodes for the  6309/6809
  284.  
  285.      chip  are listed in the appendix, only the additional features supplied by
  286.  
  287.      the 6309 will be discussed in detail.
  288.  
  289.      
  290.  
  291.      
  292.  
  293.      
  294.  
  295.                                 Summary of Features
  296.  
  297.      
  298.  
  299.      
  300.  
  301.             More registers:
  302.  
  303.               one 8/16 bit 'zero' register
  304.  
  305.               Two 8bit accumulators.
  306.  
  307.               One 16bit concatenated register
  308.  
  309.               One 16bit value register.
  310.  
  311.               One 8bit mode/error register.
  312.  
  313.               One 32bit concatenated register
  314.  
  315.      
  316.  
  317.             Two modes: MC68B09E emulation mode and HD63B09EP native mode.
  318.  
  319.      
  320.  
  321.             Reduced execution cycles when running in native mode.
  322.  
  323.      
  324.  
  325.             Many additional instructions.
  326.  
  327.      
  328.  
  329.             Error trapping of illegal instructions and zero divisions.
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.    HD63B09EP Technical Reference Guide                                  Page  2
  338.  
  339.      
  340.  
  341.      
  342.  
  343.      
  344.  
  345.      
  346.  
  347.                         Description of Additional Registers
  348.  
  349.      
  350.  
  351.      
  352.  
  353.           The  6309  has  7  additional  registers.  Only 4 of these are actual
  354.  
  355.      registers.  2 are combinations of registers, and the last is a
  356.  
  357.      constant-value register. These registers are:
  358.  
  359.      
  360.  
  361.               ACCE  - 8 bit accumulator.
  362.  
  363.               ACCF  - 8 bit accumulator.
  364.  
  365.               W     - 16 bit concatenated register (ACCE and ACCF combined).
  366.  
  367.               Q     - 32 bit concatenated register (ACCA, ACCB ,ACCE and ACCF
  368.  
  369.                                                     combined).
  370.  
  371.               V     - 16 bit register (which can only be accessed with the
  372.  
  373.                                        inter-register instructions).
  374.  
  375.               0     - zero register
  376.  
  377.               MD    - 8 bit mode/error register.
  378.  
  379.      
  380.  
  381.      
  382.  
  383.           ACCE and ACCF both work in much the same manner as the ACCA and ACCB
  384.  
  385.      accumulators.  This  makes for easier programming in math and data oriented
  386.  
  387.      routines.
  388.  
  389.      
  390.  
  391.           The W register  is  like  the  D  register  in  the  6809.  It  is  a
  392.  
  393.      concatenated register containing the values of ACCE and ACCF as one 16 bit
  394.  
  395.      value. ACCE is contained in the high 8 bits and ACCF is contained  in  the
  396.  
  397.      low 8 bits.
  398.  
  399.      
  400.  
  401.           The  Q  register  is a 32 bit concatenated register. This register
  402.  
  403.      is composed of the concatenation of D and W, which in turn are composed of
  404.  
  405.      the registers ACCA,  ACCB, ACCE and ACCF respectively. This register is used
  406.  
  407.      mostly with the additional math instructions supplied with the 6309  which
  408.  
  409.      will be discussed later.
  410.  
  411.  
  412.  
  413.           The  V  register  is a 16 bit register that can only be accessed with
  414.  
  415.      inter-register instructions such a TFR and EXG.  The  contents  of  this
  416.  
  417.      register will not change if the CPU is reset, allowing this register to be
  418.  
  419.      used as a constant value for the program.
  420.  
  421.  
  422.  
  423.           The 0 register is always zero, independant of writes to it.
  424.  
  425.      It enables a zero value to be used in inter-register operations without
  426.  
  427.      accessing memory, or changing the value of another register.
  428.  
  429.      
  430.  
  431.           The MD register is a mode and error register and works  much  in  the
  432.  
  433.      same way as the CC register. The bit definitions are as follows:
  434.  
  435.      
  436.  
  437.            Write bits
  438.  
  439.              Bit 0   -  Execution mode of the 6309.
  440.  
  441.                          If clear ( 0 ), the cpu is in 6809 emulation mode.
  442.  
  443.                          If set ( 1 ), the cpu is in 6309 native mode.
  444.  
  445.              Bit 1   -  FIRQ mode
  446.  
  447.                          If clear ( 0 ), the FIRQ will occur normally.
  448.  
  449.                          If set ( 1 ) , the FIRQ will operate the same as the
  450.  
  451.                                         IRQ
  452.  
  453.      
  454.  
  455.              Bits 2 to 5 are unused
  456.  
  457.      
  458.  
  459.            Read bits - One of these bits is set when the 6309 traps an error
  460.  
  461.              Bit 6   -  This bit is set ( 1 ) if an illegal instruction is
  462.  
  463.                          encountered
  464.  
  465.              Bit 7   -  This bit is set ( 1 ) if a zero division occurs.
  466.  
  467.      
  468.  
  469.      
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.    HD63B09EP Technical Reference Guide                                  Page  3
  484.  
  485.      
  486.  
  487.      
  488.  
  489.      
  490.  
  491.                                  Modes of Operation
  492.  
  493.      
  494.  
  495.      
  496.  
  497.           The 6309 has  two modes of operation; 6809 Emulation  mode  in  which
  498.  
  499.      the  chip  acts  and  executes instructions the same as the 6809, and 6309
  500.  
  501.      Native mode which stores an extra two bytes on the stack when an interrupt
  502.  
  503.      (IRQ) occurs, and executes instructions in fewer clock cycles.
  504.  
  505.      
  506.  
  507.           When  in  native  mode, the W register (2 additional bytes) is stored
  508.  
  509.      (PSHS) on the system stack when an interrupt occurs,  it is stored  on  the
  510.  
  511.      stack  right  after  the  D  (general data)  register. Since  ALL register
  512.  
  513.      values are stored on the system stack when an IRQ (NOT  FIRQ  -  See  FIRQ
  514.  
  515.      modes  for  more  information)   occurs,  great  care should be taken when
  516.  
  517.      writing or patching those routines to run in native mode.
  518.  
  519.      
  520.  
  521.      Pull <- CC,A,B,E*,F*,DP,Xhi,Xlo,Yhi,Ylo,Uhi,Ulo,PChi,PClo <- Push
  522.  
  523.      
  524.  
  525.        * indicates the additional registers stored on the system stack
  526.  
  527.      
  528.  
  529.      
  530.  
  531.           When in native mode those interrupt routines which modify the  return
  532.  
  533.      address  by modifying  the  10th and 11th byte offsets from the stack (STX
  534.  
  535.      10,S or STY 10,S etc.) will have to be changed to modify the 12th and 13th
  536.  
  537.      byte offsets from the stack (STX 12,S or STY 12,S etc.). If those routines
  538.  
  539.      are not patched to run in native mode they will  either  get  stuck  in  a
  540.  
  541.      continuous loop or will crash the system due to the fact that they are not
  542.  
  543.      returning to the correct address. This poses  a  MAJOR  problem  for  OS-9
  544.  
  545.      Level  II  since  its main interrupt handling routine relies highly on the
  546.  
  547.      changing of the return (PC) address on  the  stack.  Disk  read/write  and
  548.  
  549.      formatting  routines  also  rely  heavily  on  changing  the return address
  550.  
  551.      during an NMI (Non-Maskable Interrupt).
  552.  
  553.      
  554.  
  555.           To patch those routines which  do  modify  the  return  address,  the
  556.  
  557.      program  or  routine  must  be disassembled or modified with a disk sector
  558.  
  559.      editing program. Look for instructions such as STX 10,S or STY  10,S  that
  560.  
  561.      has  an  RTI (Return from Interrupt) instruction within the next few lines
  562.  
  563.      of the routine. The line containing STX 10,S or STY 10,S should be changed
  564.  
  565.      to STX 12,S or STY 12,S respectively.
  566.  
  567.      
  568.  
  569.           Remember, after those routines are patched, those programs using them
  570.  
  571.      will NOT work in emulation mode and will require native mode to be enabled
  572.  
  573.      upon startup.
  574.  
  575.      
  576.  
  577.      
  578.  
  579.      
  580.  
  581.                             Native Mode and Timing Loops
  582.  
  583.      
  584.  
  585.      
  586.  
  587.           There  is at least one more problem that needs to be addressed. Those
  588.  
  589.      are routines which are dependant on timing loops for accuarate  operation.
  590.  
  591.      Since  the  6309  executes  instructions faster when in native mode, those
  592.  
  593.      routines that use timing loops would be effected. Since this  can  pose  a
  594.  
  595.      problem  and can create erratic operation, the delay value or routine will
  596.  
  597.      need to be changed for the routine to operate correctly.
  598.  
  599.      
  600.  
  601.           Those  routines  are  usually   serial-printer   routines,   cassette
  602.  
  603.      read/write  timimg  routines,  software  clocks  and  some disk read/write
  604.  
  605.      routines.
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.    HD63B09EP Technical Reference Guide                                  Page  4
  616.  
  617.      
  618.  
  619.      
  620.  
  621.      
  622.  
  623.                      Modes of the Fast Interrupt Request (FIRQ)
  624.  
  625.      
  626.  
  627.      
  628.  
  629.           The   designers   of  the  6309  decided  that  with  the  additional
  630.  
  631.      instructions and native mode of operation, the FIRQ may be used more  than
  632.  
  633.      it  usually  is.  With  this in mind they decided to allow you to make the
  634.  
  635.      FIRQ run the same as the IRQ and store (PSHS) all the  current  values  of
  636.  
  637.      the  registers  on the system stack. Normally, the FIRQ only stores the CC
  638.  
  639.      (condition code) and the PC (Program Counter/return address) on the stack,
  640.  
  641.      so  to  keep compatability with the 6809, they included it as a selectable
  642.  
  643.      feature in the MD (Mode/status) register.
  644.  
  645.      
  646.  
  647.      
  648.  
  649.      
  650.  
  651.                             Inter-Register Instructions
  652.  
  653.      
  654.  
  655.      
  656.  
  657.           The new Inter-Register instructions (ADCR,  ADDR,  CMPR,  EORR,  ORR,
  658.  
  659.      SBCR,  and  SUBR)  all work the same as their register/memory (ADCA, ADDA,
  660.  
  661.      etc.) counterparts except that they operate between registers. All of  the
  662.  
  663.      new  instructions  use  the  same  post-byte information as the normal TFR
  664.  
  665.      instruction and use the  format  of  R0,R1  (register  0  and  Register  1
  666.  
  667.      respectively)  with  the  result  going  into  R1. See Block Transfers for
  668.  
  669.      information on the TFR block move instructions.
  670.  
  671.  
  672.  
  673.           Mixed-size inter-register operations default to using
  674.  
  675.      identical sized register.  So TFR A,X actually executes as TFR D,X.
  676.  
  677.      You could also do 'lea(d) d,pc' calculations by doing 'addr pc,d'.  As
  678.  
  679.      the new inter-register instructions can now perform math using the PC
  680.  
  681.      register, REALLY odd possibilities exist.  Try looking at code like
  682.  
  683.      'eorr d,pc', and figuring out where it ends up.
  684.  
  685.  
  686.  
  687.           Inter-register instructions with 16-bit r1 and CC or DP (8-bit r2)
  688.  
  689.      are legal, but the results are unknown.
  690.  
  691.  
  692.  
  693.      
  694.  
  695.                         Bit Manipulation of Memory Locations
  696.  
  697.      
  698.  
  699.      
  700.  
  701.           The  AIM,  EIM,  OIM  and  TIM  instructions  all  do   logical   bit
  702.  
  703.      manipulations  to  locations  in  memory,  with the result stored into the
  704.  
  705.      location, and the respective bits for  each  instruction  set  in  the  CC
  706.  
  707.      register.  They  can be  used in the DIRECT, INDEXED or EXTENDED adressing
  708.  
  709.      modes.
  710.  
  711.      
  712.  
  713.        Instruction descriptions:
  714.  
  715.      
  716.  
  717.         AIM - AND IN MEMORY
  718.  
  719.         EIM - EOR IN MEMORY
  720.  
  721.         OIM - OR IN MEMORY
  722.  
  723.         TIM - TEST bits IN MEMORY
  724.  
  725.      
  726.  
  727.        Instruction format: X, post byte, operand
  728.  
  729.      
  730.  
  731.           Where X is the instruction op-code, post-byte contains  the  bits  to
  732.  
  733.      AND,  OR,  EOR or TEST against the memory location, and the operand is the
  734.  
  735.      memory location or indexing post-byte depending on the mode of operation.
  736.  
  737.      
  738.  
  739.      
  740.  
  741.        Mnemonic format:
  742.  
  743.      
  744.  
  745.         Instruction logical operation value, memory location or index operation
  746.  
  747.      
  748.  
  749.        Mnemonic example:
  750.  
  751.      
  752.  
  753.         AIM #$0F,$E00 
  754.  
  755.        
  756.  
  757.       The example takes the contents of memory location $E00,  does  a  LOGICAL
  758.  
  759.      and with the Value #$0F and then stores the result back into $E00.
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.    HD63B09EP Technical Reference Guide                                  Page  5
  768.  
  769.      
  770.  
  771.       
  772.  
  773.      
  774.  
  775.                 Bit Transfers Between Memory Locations and Registers
  776.  
  777.      
  778.  
  779.      
  780.  
  781.           The  BAND, BIAND, BOR, BIOR,  BEOR,  BIEOR,  LDBT,  and  STBT  all do
  782.  
  783.      logical  operations  to bits for the n-th bit in a memory location and the
  784.  
  785.      m-th bit of a register. The  LDBT  and  STBT  instructions  allow  you  to
  786.  
  787.      transfer   certain  bits  between  registers  and  memory  locations.  All
  788.  
  789.      instructions allow you  to  specify  which  register  to  use,  which  bit
  790.  
  791.      location  to  use in the register, which bit location to use in the memory
  792.  
  793.      location, and the memory location to use. This allows you  to  transfer/or
  794.  
  795.      do a logical operation with the 7th bit of a register and the 3rd bit of a
  796.  
  797.      memory location. All bits are accessible on either the register or  memory
  798.  
  799.      locations. The only limitations are that the instructions can only be used
  800.  
  801.      with the A and B accumulators and the CC (condition  Code)  registers.  It
  802.  
  803.      should  also  be  noted  that  these  instructions can only be used in the
  804.  
  805.      DIRECT addressing mode.
  806.  
  807.      
  808.  
  809.        Instruction description:
  810.  
  811.      
  812.  
  813.        BAND  - AND a bit in a register with bit from memory location
  814.  
  815.        BIAND - AND a bit in a register with the complement of the bit in memory
  816.  
  817.        BOR   - OR a bit in a register with a bit from a memory location
  818.  
  819.        BIOR  - OR a bit in a register with the complement of the bit in memory
  820.  
  821.        BEOR  - EOR a bit in a register with a bit from a memory location
  822.  
  823.        BIEOR - EOR a bit in a register with the complement of the bit in memory
  824.  
  825.        LDBT  - Load a bit from a memory location into a bit in a register
  826.  
  827.        STBT  - Store a bit from a register into a memory location.
  828.  
  829.      
  830.  
  831.      
  832.  
  833.        Instruction format:
  834.  
  835.      
  836.  
  837.         x, post-byte, memory location
  838.  
  839.      
  840.  
  841.           Where X is  the  instruction  op-code,  the  post-byte  contains  the
  842.  
  843.      register,  source  and destination bit information and the memory location
  844.  
  845.      is the 8 bit value of the memory location to be used (Remember only DIRECT
  846.  
  847.      mode is allowed with these instructions).
  848.  
  849.      
  850.  
  851.      
  852.  
  853.        Mnemonic format:
  854.  
  855.      
  856.  
  857.         instruction, register, source bit, destination bit, memory location
  858.  
  859.      
  860.  
  861.      
  862.  
  863.        Mnemonic example:
  864.  
  865.      
  866.  
  867.         BOR A,1,7,$00
  868.  
  869.      
  870.  
  871.           The  example would take the first (1) bit of register A (A) and OR it
  872.  
  873.      into the 7th (7) bit of memory location $00 ($00) of the direct  page  (DP
  874.  
  875.      register value)
  876.  
  877.      
  878.  
  879.           The post-byte of these instructions are not the same as the post-byte
  880.  
  881.      used in any other operation (indexed or  inter-register)  as  all  of  the
  882.  
  883.      information  (register,  source  and  destination bit) is contained in one
  884.  
  885.      post-byte value.
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.    HD63B09EP Technical Reference Guide                                  Page  6
  900.  
  901.      
  902.  
  903.      
  904.  
  905.      
  906.  
  907.                                   Block Transfers
  908.  
  909.      
  910.  
  911.      
  912.  
  913.           Block  transfers  are used to move a certain number of bytes from one
  914.  
  915.      place in memory to another with the use of one  instruction.  Two  16  bit
  916.  
  917.      registers  (X,  Y,  U or S) are used to specify the source and destination
  918.  
  919.      addresses, and the size of the block to be transferred is  specified  with
  920.  
  921.      the  W register. It should be noted that even though the IRQ and FIRQ only
  922.  
  923.      occur after  the current  instruction  is  finished,  block  moves  can be
  924.  
  925.      interrupted.  After the interrupt returns, the last byte read is read once
  926.  
  927.      more.  i.e. It is read _twice_ by the CPU  This can  cause  problems  with
  928.  
  929.      memory  mapped  I/O devices, so caution  is advised  when using  the block
  930.  
  931.      transfers. There isn't much control over these 4 instructions so the  only
  932.  
  933.      thing applicable for them would be large block moves such as scrolling the
  934.  
  935.      screen or clearing an area in memory with a certain value.
  936.  
  937.      
  938.  
  939.           TFM r0+,r1 and TFM r0,r1+ can be considered a poor mans DMA  channel.
  940.  
  941.      Since all the data is either copied into or read from one memory location.
  942.  
  943.      
  944.  
  945.        Four types of block transfers have been provided.
  946.  
  947.      
  948.  
  949.        Mnemonic examples:
  950.  
  951.      
  952.  
  953.         (R0 - source address register, R1 - destination address register.)
  954.  
  955.      
  956.  
  957.        TFM r0+,r1+
  958.  
  959.         - Transfer from R0 to R1 in incrementing order.
  960.  
  961.      
  962.  
  963.      
  964.  
  965.        TFM r0-,r1-
  966.  
  967.         - Transfer from R0 to R1 in decrementing order.
  968.  
  969.      
  970.  
  971.      
  972.  
  973.        TFM r0+,r1
  974.  
  975.         - Pour from R0 into R1, only incrementing R0 (R1 stays the same).
  976.  
  977.      
  978.  
  979.      
  980.  
  981.        TFM r0,r1+
  982.  
  983.         - Read from R0 into R1, only incrementing R0 (R1 stays the same).
  984.  
  985.      
  986.  
  987.      
  988.  
  989.        Mnemonic example:
  990.  
  991.      
  992.  
  993.         LDW #$100
  994.  
  995.         LDX #$600
  996.  
  997.         LDY #$700
  998.  
  999.         TFM X+,Y+
  1000.  
  1001.      
  1002.  
  1003.      
  1004.  
  1005.           The example would move 256 (LDW #$0100) bytes from #$600 (LDX #$0600) in
  1006.  
  1007.      memory to #$700 (LDY #$0700) in memory,  incrementing  the  value  of  each
  1008.  
  1009.      register (X and Y), and decrementing the value of the W register each time
  1010.  
  1011.      a byte if moved.
  1012.  
  1013.      
  1014.  
  1015.           When moves like this are done, the pointer registers (X and Y in  the
  1016.  
  1017.      example)  will  not  be  the  same value they were before the transfer was
  1018.  
  1019.      initiated, but will but will be their original values PLUS  the  value  of
  1020.  
  1021.      the  W register (#$100 in the example). So in the example once the move is
  1022.  
  1023.      complete, the value of X will be returned as #$700 and the value of Y will
  1024.  
  1025.      be returned as #$800. The value of W register will be 0.
  1026.  
  1027.  
  1028.  
  1029.           It is illegal to use any of the CC, DP, W, V, 0, or PC registers
  1030.  
  1031.      as either a source or destination register.  Note that the D register
  1032.  
  1033.      CAN be used with the TFM instructions.
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.    HD63B09EP Technical Reference Guide                                  Page  7
  1040.  
  1041.      
  1042.  
  1043.      
  1044.  
  1045.      
  1046.  
  1047.                                  New math commands
  1048.  
  1049.      
  1050.  
  1051.      
  1052.  
  1053.           The 6309 has 3 additional math instructions.  A  16  bit  by  16  bit
  1054.  
  1055.      signed  multiply  (MULD),  a 16 bit by 8 bit signed divide (DIVD) and a 32
  1056.  
  1057.      bit by 16 bit signed divide (DIVQ). These instructions can all be used  in
  1058.  
  1059.      Immediate, direct, indexed and extended addressing modes.
  1060.  
  1061.      
  1062.  
  1063.           The MULD (16 bit by 16 bit) instruction does a signed multiply of the
  1064.  
  1065.      contents of the D register and a value from memory (or  in  direct  mode).
  1066.  
  1067.      The signed result is stored in the Q register.
  1068.  
  1069.      
  1070.  
  1071.           The  DIVD  (16  bit by 8 bit) instruction does a signed divide of the
  1072.  
  1073.      contents of the D register with a value from memory (or in  direct  mode).
  1074.  
  1075.      The  signed  result  is  stored  with  the  quotient  in  W and the modulo
  1076.  
  1077.      (remainder) in D.
  1078.  
  1079.      
  1080.  
  1081.           The DIVQ (32 bit by 16 bit) instruction does a signed divide  of  the
  1082.  
  1083.      contents  of  the Q register with a value from memory (or in direct mode).
  1084.  
  1085.      The signed result is  stored  with  the  quotient  in  W  and  the  modulo
  1086.  
  1087.      (remainder) in D.
  1088.  
  1089.      
  1090.  
  1091.      
  1092.  
  1093.      
  1094.  
  1095.                                    Error Trapping
  1096.  
  1097.      
  1098.  
  1099.      
  1100.  
  1101.           The  6309  has an internal error trapping handler that will jump to a
  1102.  
  1103.      specific location in memory when either an error  is  encountered  in  the
  1104.  
  1105.      DIVision  instructions  (only divide by zero) or an illegal instruction is
  1106.  
  1107.      encountered.  When an  error is  encountered, the  6309  will  jump to the
  1108.  
  1109.      memory  location  contained  in  $FFF0 (and $FFF1)  which  was  originally
  1110.  
  1111.      reserved by the 6809.
  1112.  
  1113.      
  1114.  
  1115.           The trap may cause  problems with machines that  have $FF00 hardcoded
  1116.  
  1117.      with  the  values $0000.  A new EPROM should  be burned to correct for the
  1118.  
  1119.      new behaviour of the 6309.
  1120.  
  1121.  
  1122.  
  1123.           As many people  know, an illegal instruction trap  is extremely useful
  1124.  
  1125.      for debugging  programs,  as it prevents  the entire machine  from crashing
  1126.  
  1127.      when a bug is encountered.
  1128.  
  1129.  
  1130.  
  1131.           Note that many pseudo-legal instructions on the 6809 are now illegal
  1132.  
  1133.      on the 6309, e.g. $1020xxxx executes as an LBRA on a 6809, but results in
  1134.  
  1135.      a trap on a 6309.     
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.                               Additional Instructions
  1142.  
  1143.      
  1144.  
  1145.      
  1146.  
  1147.           The  6309  has  MANY  new  instructions.  Most  are variations of old
  1148.  
  1149.      instructions of  the  6809  for  use  with  the  new  registers.  The  new
  1150.  
  1151.      instruction  set  can be used in both native and emulation mode. Here is a
  1152.  
  1153.      list of the new instructions of the 6309:
  1154.  
  1155.      
  1156.  
  1157.      
  1158.  
  1159.        ADCD
  1160.  
  1161.         - Adds immediate or memory operand to the D register plus the current
  1162.  
  1163.           status of the carry with the result going to D.
  1164.  
  1165.      
  1166.  
  1167.        ADCR
  1168.  
  1169.         - Adds two registers together plus the current status of the carry.
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.    HD63B09EP Technical Reference Guide                                  Page  8
  1180.  
  1181.      
  1182.  
  1183.      
  1184.  
  1185.        ADDE , ADDF, ADDW 
  1186.  
  1187.         - Add of immediate or memory operand to E, F or W with results going
  1188.  
  1189.           to E, F or W
  1190.  
  1191.      
  1192.  
  1193.        ADDR
  1194.  
  1195.         - Adds two registers together
  1196.  
  1197.      
  1198.  
  1199.        ANDD
  1200.  
  1201.         - Logical AND of immediate or memory operand to D register with
  1202.  
  1203.           result going to D.
  1204.  
  1205.      
  1206.  
  1207.        ANDR
  1208.  
  1209.         - Logical AND of a register with the contents of another register
  1210.  
  1211.      
  1212.  
  1213.        ASLD  (Same as LSLD)
  1214.  
  1215.         - Arithmetic shift left. Shifts D one bit left, clearing LSB.
  1216.  
  1217.      
  1218.  
  1219.        ASRD
  1220.  
  1221.         - Arithmetic shift right of the D register with sign extending.
  1222.  
  1223.      
  1224.  
  1225.        BITD
  1226.  
  1227.         - Test any bit or bits of the D register.
  1228.  
  1229.      
  1230.  
  1231.        BITMD
  1232.  
  1233.         - Test any bit or bits of the MD (mode) register.
  1234.  
  1235.      
  1236.  
  1237.        CLRD, CLRE, CLRF, CLRW
  1238.  
  1239.         - Clear register D, E, F or W to zero.
  1240.  
  1241.      
  1242.  
  1243.        CMPE, CMPF, CMPW
  1244.  
  1245.         - Compares the contents of E, F or W with the immediate or memory
  1246.  
  1247.           operand. Sets all CC except H on result.
  1248.  
  1249.      
  1250.  
  1251.        CMPR
  1252.  
  1253.         - Compares one register to another and sets all CC bits except H on
  1254.  
  1255.           result.
  1256.  
  1257.      
  1258.  
  1259.        COMD, COME, COMF, COMW
  1260.  
  1261.         - One's complement D ,E, F, or W. Changes all zero's to one's and
  1262.  
  1263.           all one's to zero's.
  1264.  
  1265.      
  1266.  
  1267.        DECD, DECE, DECF, DECW
  1268.  
  1269.         - Decrement D, E, F, or W by 1.
  1270.  
  1271.      
  1272.  
  1273.        DIVD, DIVQ
  1274.  
  1275.         - Does a 16 bit by 8 bit (DIVD) or a 32 bit by 16 bit (DIVQ) signed
  1276.  
  1277.           divide with immediate or memory operand with quotient in W and modulo
  1278.  
  1279.           (remainder) in D.
  1280.  
  1281.      
  1282.  
  1283.        EORD
  1284.  
  1285.         - Logical exclusive OR of D and immediate or memory operand.
  1286.  
  1287.      
  1288.  
  1289.        EORR
  1290.  
  1291.         - Logical exclusive OR of one register with the value of another
  1292.  
  1293.           register.
  1294.  
  1295.      
  1296.  
  1297.        INCD, INCE, INCF, INCW
  1298.  
  1299.         - Increment D, E, F or W by 1.
  1300.  
  1301.      
  1302.  
  1303.        LDE, LDF, LDQ, LDW, LDMD
  1304.  
  1305.         - Standard loading of E, F, Q, W or MD with immediate data value or
  1306.  
  1307.           operand from memory. (LDMD only valid with IMMEDIATE mode)
  1308.  
  1309.  
  1310.  
  1311.    HD63B09EP Technical Reference Guide                                  Page  9
  1312.  
  1313.      
  1314.  
  1315.      
  1316.  
  1317.        LSLD  (Same as ASLD)
  1318.  
  1319.         - Logical shift left. Shifts D one bit left, clearing LSB.
  1320.  
  1321.      
  1322.  
  1323.        LSRD, LSRW
  1324.  
  1325.         - Logical shift right. Shifts D or W one bit right, clearing MSB.
  1326.  
  1327.      
  1328.  
  1329.        MULD
  1330.  
  1331.         - Performs as 16bit by 16bit signed multiply with immediate or operand
  1332.  
  1333.           from memory. Result stored in Q.
  1334.  
  1335.      
  1336.  
  1337.        NEGD
  1338.  
  1339.         - Two's complement D register.
  1340.  
  1341.      
  1342.  
  1343.        ORD
  1344.  
  1345.         - Logical OR of register D and immediate or memory operand.
  1346.  
  1347.      
  1348.  
  1349.        ORR
  1350.  
  1351.         - Logical OR of one register with another.
  1352.  
  1353.      
  1354.  
  1355.        PSHSW, PSHUW
  1356.  
  1357.         - Stores contents of the W register on the (system or user) stack.
  1358.  
  1359.      
  1360.  
  1361.        PULSW, PULUW
  1362.  
  1363.         - Pull value from (system or user) stack into register W.
  1364.  
  1365.      
  1366.  
  1367.        ROLD, ROLW
  1368.  
  1369.         - Rotate D or W one bit left through the Carry Condition code.
  1370.  
  1371.      
  1372.  
  1373.        RORD, RORW
  1374.  
  1375.         - Rotate D or W one bit right through the Carry Condition code.
  1376.  
  1377.      
  1378.  
  1379.        SBCD
  1380.  
  1381.         - Subtract an immediate or memory operand plus any borrow in Carry from
  1382.  
  1383.           contents of D. Result stored in D.
  1384.  
  1385.      
  1386.  
  1387.        SBCR
  1388.  
  1389.         - Subtract the value of one register from another plus any borrow in
  1390.  
  1391.           the CC carry.
  1392.  
  1393.      
  1394.  
  1395.        SEXW
  1396.  
  1397.         - sign exdend the W register into the D register.
  1398.  
  1399.      
  1400.  
  1401.        STE, STF, STQ, STW
  1402.  
  1403.         - Store register E, F, Q or W to memory location (E,F), two memory
  1404.  
  1405.           locations(W), or four memory locations (Q).
  1406.  
  1407.      
  1408.  
  1409.        SUBE, SUBF, SUBW
  1410.  
  1411.         - Subtract immediate or memory operand from E, F or W. Result stored
  1412.  
  1413.           back in same register.
  1414.  
  1415.      
  1416.  
  1417.        SUBR
  1418.  
  1419.         - Subtract the value of one register from another.
  1420.  
  1421.      
  1422.  
  1423.        TFM (Block transfer)
  1424.  
  1425.         - Transfer W number of bytes from one location to another. Returns
  1426.  
  1427.           pointer registers offset of the starting value in the W register and
  1428.  
  1429.           returns the W register as 0. Indexed operation only
  1430.  
  1431.       
  1432.  
  1433.        TSTD, TSTE, TSTF, TSTW
  1434.  
  1435.         - Test contents of D, E, F or W by setting N and X condition codes
  1436.  
  1437.           based on data in register.
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.    Opcode and Mnemonics Reference Table                                 Page 10
  1444.  
  1445.      
  1446.  
  1447.      
  1448.  
  1449.      
  1450.  
  1451.           The Opcode and Mnemonics opcode reference tables  are  both  complete
  1452.  
  1453.      listings  that  contain both the Opcode instruction and the HEX equivalant
  1454.  
  1455.      in  all  available  addressing  modes.  The  first   table   is   arranged
  1456.  
  1457.      sequentially  by  the  binary  opcodes, while the second table is arranged
  1458.  
  1459.      alphabetically by the Mnemonic instructions.
  1460.  
  1461.      
  1462.  
  1463.           At the end of the second  table  there are   data  tables  containing
  1464.  
  1465.      information    on    Bit   transfer/manipulation,   branch   instructions,
  1466.  
  1467.      inter-register instructions, and general register and  stack  information.
  1468.  
  1469.      These  are  all  helpful  to the serious assembly language programmer, who
  1470.  
  1471.      should always have one.
  1472.  
  1473.      
  1474.  
  1475.      
  1476.  
  1477.      
  1478.  
  1479.                                    Opcode table 
  1480.  
  1481.      
  1482.  
  1483.      
  1484.  
  1485.           ________________________________________________________________
  1486.  
  1487.          |                                                                |
  1488.  
  1489.          |  Opcode      Mnemonic       Mode          Cycles       Length  |
  1490.  
  1491.          | (* 6309)                                6809 (6309)            |
  1492.  
  1493.          |----------------------------------------------------------------|
  1494.  
  1495.          |    00          NEG        Direct          6  (5)         2     |
  1496.  
  1497.          |  * 01          OIM        Direct          6              3     |
  1498.  
  1499.          |  * 02          AIM        Direct          6              3     |
  1500.  
  1501.          |    03          COM        Direct          6  (5)         2     |
  1502.  
  1503.          |    04          LSR        Direct          6  (5)         2     |
  1504.  
  1505.          |  * 05          EIM        Direct          6              3     |
  1506.  
  1507.          |    06          ROR        Direct          6  (5)         2     |
  1508.  
  1509.          |    07          ASR        Direct          6  (5)         2     |
  1510.  
  1511.          |    08          ASL/LSL    Direct          6  (5)         2     |
  1512.  
  1513.          |    09          ROL        Direct          6  (5)         2     |
  1514.  
  1515.          |    0A          DEC        Direct          6  (5)         2     |
  1516.  
  1517.          |  * 0B          TIM        Direct          6                    |
  1518.  
  1519.          |    0C          INC        Direct          6  (5)         2     |
  1520.  
  1521.          |    0D          TST        Direct          6  (4)         2     |
  1522.  
  1523.          |    0E          JMP        Direct          3  (2)         2     |
  1524.  
  1525.          |    0F          CLR        Direct          6  (5)         2     |
  1526.  
  1527.          |    10          (PREBYTE)                                       |
  1528.  
  1529.          |    11          (PREBYTE)                                       |
  1530.  
  1531.          |    12          NOP        Inherent        2  (1)         1     |
  1532.  
  1533.          |    13          SYNC       Inherent        2  (1)         1     |
  1534.  
  1535.          |  * 14          SEXW       Inherent        4              1     |
  1536.  
  1537.          |    16          LBRA       Relative        5  (4)         3     |
  1538.  
  1539.          |    17          LBSR       Relative        9  (7)         3     |
  1540.  
  1541.          |    19          DAA        Inherent        2  (1)         1     |
  1542.  
  1543.          |    1A          ORCC       Immediate       3  (2)         2     |
  1544.  
  1545.          |    1C          ANDCC      Immediate       3              2     |
  1546.  
  1547.          |    1D          SEX        Inherent        2  (1)         1     |
  1548.  
  1549.          |    1E          EXG        Immediate       8  (5)         2     |
  1550.  
  1551.          |    1F          TFR        Immediate       6  (4)         2     |
  1552.  
  1553.          |    20          BRA        Relative        3              2     |
  1554.  
  1555.          |    21          BRN        Relative        3              2     |
  1556.  
  1557.          |    22          BHI        Relative        3              2     |
  1558.  
  1559.          |    23          BLS        Relative        3              2     |
  1560.  
  1561.          |    24          BHS/BCC    Relative        3              2     |
  1562.  
  1563.          |    25          BLO/BCS    Relative        3              2     |
  1564.  
  1565.          |    26          BNE        Relative        3              2     |
  1566.  
  1567.          |    27          BEQ        Relative        3              2     |
  1568.  
  1569.           ----------------------------------------------------------------
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.    Opcode and Mnemonics opcode reference table                          Page 11
  1576.  
  1577.    
  1578.  
  1579.    
  1580.  
  1581.    
  1582.  
  1583.    
  1584.  
  1585.           ________________________________________________________________
  1586.  
  1587.          |                                                                |
  1588.  
  1589.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  1590.  
  1591.          | (* 6309)                                                       |
  1592.  
  1593.          |----------------------------------------------------------------|
  1594.  
  1595.          |    28          BVC        Relative        3              2     |
  1596.  
  1597.          |    29          BVS        Relative        3              2     |
  1598.  
  1599.          |    2A          BPL        Relative        3              2     |
  1600.  
  1601.          |    2B          BMI        Relative        3              2     |
  1602.  
  1603.          |    2C          BGE        Relative        3              2     |
  1604.  
  1605.          |    2D          BLT        Relative        3              2     |
  1606.  
  1607.          |    2E          BGT        Relative        3              2     |
  1608.  
  1609.          |    2F          BLE        Relative        3              2     |
  1610.  
  1611.          |    30          LEAX       Indexed         4+             2     |
  1612.  
  1613.          |    31          LEAY       Indexed         4+             2     |
  1614.  
  1615.          |    32          LEAS       Indexed         4+             2     |
  1616.  
  1617.          |    33          LEAU       Indexed         4+             2     |
  1618.  
  1619.          |    34          PSHS       Immediate       5+ (4+)        2     |
  1620.  
  1621.          |    35          PULS       Immediate       5+ (4+)        2     |
  1622.  
  1623.          |    36          PSHU       Immediate       5+ (4+)        2     |
  1624.  
  1625.          |    37          PULU       Immediate       5+ (4+)        2     |
  1626.  
  1627.          |    39          RTS        Inherent        5  (1)         1     |
  1628.  
  1629.          |    3A          ABX        Inherent        3  (1)         1     |
  1630.  
  1631.          |    3B          RTI        Inherent      6/15 (17)        1     |
  1632.  
  1633.          |    3C          CWAI       Immediate      22  (20)        2     |
  1634.  
  1635.          |    3D          MUL        Inherent       11  (10)        1     |
  1636.  
  1637.          |    3F          SWI        Inherent       19  (21)        1     |
  1638.  
  1639.          |    40          NEGA       Inherent        2  (1)         1     |
  1640.  
  1641.          |    43          COMA       Inherent        2  (1)         1     |
  1642.  
  1643.          |    44          LSRA       Inherent        2  (1)         1     |
  1644.  
  1645.          |    46          RORA       Inherent        2  (1)         1     |
  1646.  
  1647.          |    47          ASRA       Inherent        2  (1)         1     |
  1648.  
  1649.          |    48          ASLA/LSLA  Inherent        2  (1)         1     |
  1650.  
  1651.          |    49          ROLA       Inherent        2  (1)         1     |
  1652.  
  1653.          |    4A          DECA       Inherent        2  (1)         1     |
  1654.  
  1655.          |    4C          INCA       Inherent        2  (1)         1     |
  1656.  
  1657.          |    4D          TSTA       Inherent        2  (1)         1     |
  1658.  
  1659.          |    4F          CLRA       Inherent        2  (1)         1     |
  1660.  
  1661.          |    50          NEGB       Inherent        2  (1)         1     |
  1662.  
  1663.          |    53          COMB       Inherent        2  (1)         1     |
  1664.  
  1665.          |    54          LSRB       Inherent        2  (1)         1     |
  1666.  
  1667.          |    56          RORB       Inherent        2  (1)         1     |
  1668.  
  1669.          |    57          ASRB       Inherent        2  (1)         1     |
  1670.  
  1671.          |    58          ASLB/LSLB  Inherent        2  (1)         1     |
  1672.  
  1673.          |    59          ROLB       Inherent        2  (1)         1     |
  1674.  
  1675.          |    5A          DECB       Inherent        2  (1)         1     |
  1676.  
  1677.          |    5C          INCB       Inherent        2  (1)         1     |
  1678.  
  1679.          |    5D          TSTB       Inherent        2  (1)         1     |
  1680.  
  1681.          |    5F          CLRB       Inherent        2  (1)         1     |
  1682.  
  1683.          |    60          NEG        Indexed         6+             2+    |
  1684.  
  1685.          |  * 61          OIM        Indexed         6+             3+    |
  1686.  
  1687.          |  * 62          AIM        Indexed         7              3+    |
  1688.  
  1689.          |    63          COM        Indexed         6+             2+    |
  1690.  
  1691.          |    64          LSR        Indexed         6+             2+    |
  1692.  
  1693.          |  * 65          EIM        Indexed         7+             3+    |
  1694.  
  1695.          |    66          ROR        Indexed         6+             2+    |
  1696.  
  1697.          |    67          ASR        Indexed         6+             2+    |
  1698.  
  1699.          |    68          ASL/LSL    Indexed         6+             2+    |
  1700.  
  1701.          |    69          ROL        Indexed         6+             2+    |
  1702.  
  1703.           ----------------------------------------------------------------
  1704.  
  1705.  
  1706.  
  1707.    Opcode and Mnemonics opcode reference table                          Page 12
  1708.  
  1709.    
  1710.  
  1711.    
  1712.  
  1713.    
  1714.  
  1715.    
  1716.  
  1717.           ________________________________________________________________
  1718.  
  1719.          |                                                                |
  1720.  
  1721.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  1722.  
  1723.          | (* 6309)                                                       |
  1724.  
  1725.          |----------------------------------------------------------------|
  1726.  
  1727.          |    6A          DEC        Indexed         6+             2+    |
  1728.  
  1729.          |  * 6B          TIM        Indexed         7+             3+    |
  1730.  
  1731.          |    6C          INC        Indexed         6+             2+    |
  1732.  
  1733.          |    6D          TST        Indexed         6+ (5+)        2+    |
  1734.  
  1735.          |    6E          JMP        Indexed         3+             2+    |
  1736.  
  1737.          |    6F          CLR        Indexed         6+             2+    |
  1738.  
  1739.          |    70          NEG        Extended        7  (6)         3     |
  1740.  
  1741.          |  * 71          OIM        Extended        7              4     |
  1742.  
  1743.          |  * 72          AIM        Extended        7              4     |
  1744.  
  1745.          |    73          COM        Extended        7  (6)         3     |
  1746.  
  1747.          |    74          LSR        Extended        7  (6)         3     |
  1748.  
  1749.          |    76          ROR        Extended        7  (6)         3     |
  1750.  
  1751.          |  * 75          EIM        Extended        7              4     |
  1752.  
  1753.          |    77          ASR        Extended        7  (6)         3     |
  1754.  
  1755.          |    78          ASL/LSL    Extended        7  (6)         3     |
  1756.  
  1757.          |    79          ROL        Extended        7  (6)         3     |
  1758.  
  1759.          |    7A          DEC        Extended        7  (6)         3     |
  1760.  
  1761.          |  * 7B          TIM        Extended        7              4     |
  1762.  
  1763.          |    7C          INC        Extended        7  (6)         3     |
  1764.  
  1765.          |    7D          TST        Extended        7  (5)         3     |
  1766.  
  1767.          |    7E          JMP        Extended        4  (3)         3     |
  1768.  
  1769.          |    7F          CLR        Extended        7  (6)         3     |
  1770.  
  1771.          |    80          SUBA       Immediate       2              2     |
  1772.  
  1773.          |    81          CMPA       Immediate       2              2     |
  1774.  
  1775.          |    82          SBCA       Immediate       2              2     |
  1776.  
  1777.          |    83          SUBD       Immediate       4  (3)         3     |
  1778.  
  1779.          |    84          ANDA       Immediate       2              2     |
  1780.  
  1781.          |    85          BITA       Immediate       2              2     |
  1782.  
  1783.          |    86          LDA        Immediate       2              2     |
  1784.  
  1785.          |    88          EORA       Immediate       2              2     |
  1786.  
  1787.          |    89          ADCA       Immediate       2              2     |
  1788.  
  1789.          |    8A          ORA        Immediate       2              2     |
  1790.  
  1791.          |    8B          ADDA       Immediate       2              2     |
  1792.  
  1793.          |    8C          CMPX       Immediate       4  (3)         3     |
  1794.  
  1795.          |    8D          BSR        Relative        7  (6)         2     |
  1796.  
  1797.          |    8E          LDX        Immediate       3              3     |
  1798.  
  1799.          |    90          SUBA       Direct          4  (3)         2     |
  1800.  
  1801.          |    91          CMPA       Direct          4  (3)         2     |
  1802.  
  1803.          |    92          SBCA       Direct          4  (3)         2     |
  1804.  
  1805.          |    93          SUBD       Direct          6  (4)         2     |
  1806.  
  1807.          |    94          ANDA       Direct          4  (3)         2     |
  1808.  
  1809.          |    95          BITA       Direct          4  (3)         2     |
  1810.  
  1811.          |    96          LDA        Direct          4  (3)         2     |
  1812.  
  1813.          |    97          STA        Direct          4  (3)         2     |
  1814.  
  1815.          |    98          EORA       Direct          4  (3)         2     |
  1816.  
  1817.          |    99          ADCA       Direct          4  (3)         2     |
  1818.  
  1819.          |    9A          ORA        Direct          4  (3)         2     |
  1820.  
  1821.          |    9B          ADDA       Direct          4  (3)         2     |
  1822.  
  1823.          |    9C          CMPX       Direct          6  (4)         2     |
  1824.  
  1825.          |    9D          JSR        Direct          7  (6)         2     |
  1826.  
  1827.          |    9E          LDX        Direct          5  (4)         2     |
  1828.  
  1829.          |    9F          STX        Direct          5  (4)         2     |
  1830.  
  1831.          |    A0          SUBA       Indexed         4+             2+    |
  1832.  
  1833.          |    A1          CMPA       Indexed         4+             2+    |
  1834.  
  1835.           ----------------------------------------------------------------
  1836.  
  1837.  
  1838.  
  1839.    Opcode and Mnemonics opcode reference table                          Page 13
  1840.  
  1841.    
  1842.  
  1843.    
  1844.  
  1845.    
  1846.  
  1847.    
  1848.  
  1849.           ________________________________________________________________
  1850.  
  1851.          |                                                                |
  1852.  
  1853.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  1854.  
  1855.          | (* 6309)                                                       |
  1856.  
  1857.          |----------------------------------------------------------------|
  1858.  
  1859.          |    A2          SBCA       Indexed         4+             2+    |
  1860.  
  1861.          |    A3          SUBD       Indexed         6+ (5+)        2+    |
  1862.  
  1863.          |    A4          ANDA       Indexed         4+             2+    |
  1864.  
  1865.          |    A5          BITA       Indexed         4+             2+    |
  1866.  
  1867.          |    A6          LDA        Indexed         4+             2+    |
  1868.  
  1869.          |    A7          STA        Indexed         4+             2+    |
  1870.  
  1871.          |    A8          EORA       Indexed         4+             2+    |
  1872.  
  1873.          |    A9          ADCA       Indexed         4+             2+    |
  1874.  
  1875.          |    AA          ORA        Indexed         4+             2+    |
  1876.  
  1877.          |    AB          ADDA       Indexed         4+             2+    |
  1878.  
  1879.          |    AC          CMPX       Indexed         6+ (5+)        2+    |
  1880.  
  1881.          |    AD          JSR        Indexed         7+ (6+)        2+    |
  1882.  
  1883.          |    AE          LDX        Indexed         5+             2+    |
  1884.  
  1885.          |    AF          STX        Indexed         5+             2+    |
  1886.  
  1887.          |    B0          SUBA       Extended        5  (4)         3     |
  1888.  
  1889.          |    B1          CMPA       Extended        5  (4)         3     |
  1890.  
  1891.          |    B2          SBCA       Extended        5  (4)         3     |
  1892.  
  1893.          |    B3          SUBD       Extended        7  (5)         3     |
  1894.  
  1895.          |    B4          ANDA       Extended        5  (4)         3     |
  1896.  
  1897.          |    B5          BITA       Extended        5  (4)         3     |
  1898.  
  1899.          |    B6          LDA        Extended        5  (4)         3     |
  1900.  
  1901.          |    B7          STA        Extended        5  (4)         3     |
  1902.  
  1903.          |    B8          EORA       Extended        5  (4)         3     |
  1904.  
  1905.          |    B9          ADCA       Extended        5  (4)         3     |
  1906.  
  1907.          |    BA          ORA        Extended        5  (4)         3     |
  1908.  
  1909.          |    BB          ADDA       Extended        5  (4)         3     |
  1910.  
  1911.          |    BC          CMPX       Extended        7  (5)         3     |
  1912.  
  1913.          |    BD          JSR        Extended        8  (7)         3     |
  1914.  
  1915.          |    BE          LDX        Extended        6  (5)         3     |
  1916.  
  1917.          |    BF          STX        Extended        6  (5)         3     |
  1918.  
  1919.          |    C0          SUBB       Immediate       2              2     |
  1920.  
  1921.          |    C1          CMPB       Immediate       2              2     |
  1922.  
  1923.          |    C2          SBCB       Immediate       2              2     |
  1924.  
  1925.          |    C3          ADDD       Immediate       4  (3)         3     |
  1926.  
  1927.          |    C4          ANDB       Immediate       2              2     |
  1928.  
  1929.          |    C5          BITB       Immediate       2              2     |
  1930.  
  1931.          |    C6          LDB        Immediate       2              2     |
  1932.  
  1933.          |    C8          EORB       Immediate       2              2     |
  1934.  
  1935.          |    C9          ADCB       Immediate       2              2     |
  1936.  
  1937.          |    CA          ORB        Immediate       2              2     |
  1938.  
  1939.          |    CB          ADDB       Immediate       2              2     |
  1940.  
  1941.          |    CC          LDD        Immediate       3              3     |
  1942.  
  1943.          |  * CD          LDQ        Immediate       5              5     |
  1944.  
  1945.          |    CE          LDU        Immediate       3              3     |
  1946.  
  1947.          |    D0          SUBB       Direct          4  (3)         2     |
  1948.  
  1949.          |    D1          CMPB       Direct          4  (3)         2     |
  1950.  
  1951.          |    D2          SBCB       Direct          4  (3)         2     |
  1952.  
  1953.          |    D3          ADDD       Direct          6  (4)         2     |
  1954.  
  1955.          |    D4          ANDB       Direct          4  (3)         2     |
  1956.  
  1957.          |    D5          BITB       Direct          4  (3)         2     |
  1958.  
  1959.          |    D6          LDB        Direct          4  (3)         2     |
  1960.  
  1961.          |    D7          STB        Direct          4  (3)         2     |
  1962.  
  1963.          |    D8          EORB       Direct          4  (3)         2     |
  1964.  
  1965.          |    D9          ADCB       Direct          4  (3)         2     |
  1966.  
  1967.           ----------------------------------------------------------------
  1968.  
  1969.  
  1970.  
  1971.    Opcode and Mnemonics opcode reference table                          Page 14
  1972.  
  1973.    
  1974.  
  1975.    
  1976.  
  1977.    
  1978.  
  1979.           ________________________________________________________________
  1980.  
  1981.          |                                                                |
  1982.  
  1983.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  1984.  
  1985.          | (* 6309)                                                       |
  1986.  
  1987.          |----------------------------------------------------------------|
  1988.  
  1989.          |    DA          ORB        Direct          4  (3)         2     |
  1990.  
  1991.          |    DB          ADDB       Direct          4  (3)         2     |
  1992.  
  1993.          |    DC          LDD        Direct          5  (4)         2     |
  1994.  
  1995.          |    DD          STD        Direct          5  (4)         2     |
  1996.  
  1997.          |    DE          LDU        Direct          5  (4)         2     |
  1998.  
  1999.          |    DF          STU        Direct          5  (4)         2     |
  2000.  
  2001.          |    E0          SUBB       Indexed         4+             2+    |
  2002.  
  2003.          |    E1          CMPB       Indexed         4+             2+    |
  2004.  
  2005.          |    E2          SBCB       Indexed         4+             2+    |
  2006.  
  2007.          |    E3          ADDD       Indexed         6+ (5+)        2+    |
  2008.  
  2009.          |    E4          ANDB       Indexed         4+             2+    |
  2010.  
  2011.          |    E5          BITB       Indexed         4+             2+    |
  2012.  
  2013.          |    E6          LDB        Indexed         4+             2+    |
  2014.  
  2015.          |    E7          STB        Indexed         4+             2+    |
  2016.  
  2017.          |    E8          EORB       Indexed         4+             2+    |
  2018.  
  2019.          |    E9          ADCB       Indexed         4+             2+    |
  2020.  
  2021.          |    EA          ORB        Indexed         4+             2+    |
  2022.  
  2023.          |    EB          ADDB       Indexed         4+             2+    |
  2024.  
  2025.          |    EC          LDD        Indexed         5+             2+    |
  2026.  
  2027.          |    ED          STD        Indexed         5+             2+    |
  2028.  
  2029.          |    EE          LDU        Indexed         5+             2+    |
  2030.  
  2031.          |    EF          STU        Indexed         5+             2+    |
  2032.  
  2033.          |    F0          SUBB       Extended        5  (4)         3     |
  2034.  
  2035.          |    F1          CMPB       Extended        5  (4)         3     |
  2036.  
  2037.          |    F2          SBCB       Extended        5  (4)         3     |
  2038.  
  2039.          |    F3          ADDD       Extended        7  (5)         3     |
  2040.  
  2041.          |    F4          ANDB       Extended        5  (4)         3     |
  2042.  
  2043.          |    F5          BITB       Extended        5  (4)         3     |
  2044.  
  2045.          |    F6          LDB        Extended        5  (4)         3     |
  2046.  
  2047.          |    F7          STB        Extended        5  (4)         3     |
  2048.  
  2049.          |    F8          EORB       Extended        5  (4)         3     |
  2050.  
  2051.          |    F9          ADCB       Extended        5  (4)         3     |
  2052.  
  2053.          |    FA          ORB        Extended        5  (4)         3     |
  2054.  
  2055.          |    FB          ADDB       Extended        5  (4)         3     |
  2056.  
  2057.          |    FC          LDD        Extended        6  (5)         3     |
  2058.  
  2059.          |    FD          STD        Extended        6  (5)         3     |
  2060.  
  2061.          |    FE          LDU        Extended        6  (5)         3     |
  2062.  
  2063.          |    FF          STU        Extended        6  (5)         3     |
  2064.  
  2065.          |    1021        LBRN       Reletive       5/6 ( )         4     |
  2066.  
  2067.          |    1022        LBHI       Reletive       5/6 ( )         4     |
  2068.  
  2069.          |    1023        LBLS       Reletive       5/6 ( )         4     |
  2070.  
  2071.          |    1024        LBHS/LBCC  Reletive       5/6 ( )         4     |
  2072.  
  2073.          |    1025        LBCS/LBLO  Reletive       5/6 ( )         4     |
  2074.  
  2075.          |    1026        LBNE       Reletive       5/6 ( )         4     |
  2076.  
  2077.          |    1027        LBEQ       Reletive       5/6 ( )         4     |
  2078.  
  2079.          |    1028        LBVC       Reletive       5/6 ( )         4     |
  2080.  
  2081.          |    1029        LBVS       Reletive       5/6 ( )         4     |
  2082.  
  2083.          |    102A        LBPL       Reletive       5/6 ( )         4     |
  2084.  
  2085.          |    102B        LBMI       Reletive       5/6 ( )         4     |
  2086.  
  2087.          |    102C        LBGE       Reletive       5/6 ( )         4     |
  2088.  
  2089.          |    102D        LBLT       Reletive       5/6 ( )         4     |
  2090.  
  2091.          |    102E        LBGT       Reletive       5/6 ( )         4     |
  2092.  
  2093.          |    102F        LBLE       Reletive       5/6 ( )         4     |
  2094.  
  2095.          |  * 1030        ADDR       Register        4              3     |
  2096.  
  2097.           ----------------------------------------------------------------
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.    Opcode and Mnemonics opcode reference table                          Page 15
  2104.  
  2105.    
  2106.  
  2107.    
  2108.  
  2109.    
  2110.  
  2111.    
  2112.  
  2113.           ________________________________________________________________
  2114.  
  2115.          |                                                                |
  2116.  
  2117.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  2118.  
  2119.          | (* 6309)                                                       |
  2120.  
  2121.          |----------------------------------------------------------------|
  2122.  
  2123.          |  * 1031        ADCR       Register        4              3     |
  2124.  
  2125.          |  * 1032        SUBR       Register        4              3     |
  2126.  
  2127.          |  * 1033        SBCR       Register        4              3     |
  2128.  
  2129.          |  * 1034        ANDR       Register        4              3     |
  2130.  
  2131.          |  * 1035        ORR        Register        4              3     |
  2132.  
  2133.          |  * 1036        EORR       Register        4              3     |
  2134.  
  2135.          |  * 1037        CMPR       Register        4              3     |
  2136.  
  2137.          |  * 1038        PSHSW      Register        6              2     |
  2138.  
  2139.          |  * 1039        PULSW      Register        6              2     |
  2140.  
  2141.          |  * 103A        PSHUW      Register        6              2     |
  2142.  
  2143.          |  * 103B        PULUW      Register        6              2     |
  2144.  
  2145.          |    103F        SWI2       Inherent        20 (22)        2     |
  2146.  
  2147.          |  * 1040        NEGD       Inherent        3  (2)         2     |
  2148.  
  2149.          |  * 1043        COMD       Inherent        3  (2)         2     |
  2150.  
  2151.          |  * 1044        LSRD       Inherent        3  (2)         2     |
  2152.  
  2153.          |  * 1046        RORD       Inherent        3  (2)         2     |
  2154.  
  2155.          |  * 1047        ASRD       Inherent        3  (2)         2     |
  2156.  
  2157.          |  * 1048        ASLD/LSLD  Inherent        3  (2)         2     |
  2158.  
  2159.          |  * 1049        ROLD       Inherent        3  (2)         2     |
  2160.  
  2161.          |  * 104A        DECD       Inherent        3  (2)         2     |
  2162.  
  2163.          |  * 104C        INCD       Inherent        3  (2)         2     |
  2164.  
  2165.          |  * 104D        TSTD       Inherent        3  (2)         2     |
  2166.  
  2167.          |  * 104F        CLRD       Inherent        3  (2)         2     |
  2168.  
  2169.          |  * 1053        COMW       Inherent        3  (2)         2     |
  2170.  
  2171.          |  * 1054        LSRW       Inherent        3  (2)         2     |
  2172.  
  2173.        ? |  * 1056        RORW       Inherent        3  (2)         2     |
  2174.  
  2175.          |  * 1059        ROLW       Inherent        3  (2)         2     |
  2176.  
  2177.          |  * 105A        DECW       Inherent        3  (2)         2     |
  2178.  
  2179.          |  * 105C        INCW       Inherent        3  (2)         2     |
  2180.  
  2181.          |  * 105D        TSTW       Inherent        3  (2)         2     |
  2182.  
  2183.          |  * 105F        CLRW       Inherent        3  (2)         2     |
  2184.  
  2185.          |  * 1080        SUBW       Immediate       5  (4)         4     |
  2186.  
  2187.          |  * 1081        CMPW       Immediate       5  (4)         4     |
  2188.  
  2189.          |  * 1082        SBCD       Immediate       5  (4)         4     |
  2190.  
  2191.          |    1083        CMPD       Immediate       5  (4)         4     |
  2192.  
  2193.          |  * 1084        ANDD       Immediate       5  (4)         4     |
  2194.  
  2195.          |  * 1085        BITD       Immediate       5  (4)         4     |
  2196.  
  2197.          |  * 1086        LDW        Immediate       5  (4)         4     |
  2198.  
  2199.          |  * 1088        EORD       Immediate       5  (4)         4     |
  2200.  
  2201.          |  * 1089        ADCD       Immediate       5  (4)         4     |
  2202.  
  2203.          |  * 108A        ORD        Immediate       5  (4)         4     |
  2204.  
  2205.          |  * 108B        ADDW       Immediate       5  (4)         4     |
  2206.  
  2207.          |    108C        CMPY       Immediate       5  (4)         4     |
  2208.  
  2209.          |    108E        LDY        Immediate       5  (4)         4     |
  2210.  
  2211.          |  * 1090        SUBW       Direct          7  (5)         3     |
  2212.  
  2213.          |  * 1091        CMPW       Direct          7  (5)         3     |
  2214.  
  2215.          |  * 1092        SBCD       Direct          7  (5)         3     |
  2216.  
  2217.          |    1093        CMPD       Direct          7  (5)         3     |
  2218.  
  2219.          |  * 1094        ANDD       Direct          7  (5)         3     |
  2220.  
  2221.          |  * 1095        BITD       Direct          7  (5)         3     |
  2222.  
  2223.          |  * 1096        LDW        Direct          6  (5)         3     |
  2224.  
  2225.          |  * 1097        STW        Direct          6  (5)         3     |
  2226.  
  2227.          |  * 1098        EORD       Direct          7  (5)         3     |
  2228.  
  2229.          |  * 1099        ADCD       Direct          7  (5)         3     |
  2230.  
  2231.           ----------------------------------------------------------------
  2232.  
  2233.  
  2234.  
  2235.    Opcode and Mnemonics opcode reference table                          Page 16
  2236.  
  2237.    
  2238.  
  2239.    
  2240.  
  2241.    
  2242.  
  2243.    
  2244.  
  2245.           ________________________________________________________________
  2246.  
  2247.          |                                                                |
  2248.  
  2249.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  2250.  
  2251.          | (* 6309)                                                       |
  2252.  
  2253.          |----------------------------------------------------------------|
  2254.  
  2255.          |  * 109A        ORD        Direct          7  (5)         3     |
  2256.  
  2257.          |  * 109B        ADDW       Direct          7  (5)         3     |
  2258.  
  2259.          |    109C        CMPY       Direct          7  (5)         3     |
  2260.  
  2261.          |    109E        LDY        Direct          6  (5)         3     |
  2262.  
  2263.          |    109F        STY        Direct          6  (5)         3     |
  2264.  
  2265.          |  * 10A0        SUBW       Indexed         7+ (6+)        3+    |
  2266.  
  2267.          |  * 10A1        CMPW       Indexed         7+ (6+)        3+    |
  2268.  
  2269.          |  * 10A2        SBCD       Indexed         7+ (6+)        3+    |
  2270.  
  2271.          |    10A3        CMPD       Indexed         7+ (6+)        3+    |
  2272.  
  2273.          |  * 10A4        ANDD       Indexed         7+ (6+)        3+    |
  2274.  
  2275.          |  * 10A5        BITD       Indexed         7+ (6+)        3+    |
  2276.  
  2277.          |  * 10A6        LDW        Indexed         6+             3+    |
  2278.  
  2279.          |  * 10A7        STW        Indexed         6+             3+    |
  2280.  
  2281.          |  * 10A8        EORD       Indexed         7+ (6+)        3+    |
  2282.  
  2283.          |  * 10A9        ADCD       Indexed         7+ (6+)        3+    |
  2284.  
  2285.          |  * 10AA        ORD        Indexed         7+ (6+)        3+    |
  2286.  
  2287.          |  * 10AB        ADDW       Indexed         7+ (6+)        3+    |
  2288.  
  2289.          |    10AC        CMPY       Indexed         7+ (6+)        3+    |
  2290.  
  2291.          |    10AE        LDY        Indexed         6              3+    |
  2292.  
  2293.          |    10AF        STY        Indexed         6              3+    |
  2294.  
  2295.          |  * 10B0        SUBW       Extended        8  (6)         4     |
  2296.  
  2297.          |  * 10B1        CMPW       Extended        8  (6)         4     |
  2298.  
  2299.          |  * 10B2        SBCD       Extended        8  (6)         4     |
  2300.  
  2301.          |    10B3        CMPD       Extended        8  (6)         4     |
  2302.  
  2303.          |  * 10B4        ANDD       Extended        8  (6)         4     |
  2304.  
  2305.          |  * 10B5        BITD       Extended        8  (6)         4     |
  2306.  
  2307.          |  * 10B6        LDW        Extended        7  (6)         4     |
  2308.  
  2309.          |  * 10B7        STW        Extended        7  (6)         4     |
  2310.  
  2311.          |  * 10B8        EORD       Extended        8  (6)         4     |
  2312.  
  2313.          |  * 10B9        ADCD       Extended        8  (6)         4     |
  2314.  
  2315.          |  * 10BA        ORD        Extended        8  (6)         4     |
  2316.  
  2317.          |  * 10BB        ADDW       Extended        8  (6)         4     |
  2318.  
  2319.          |    10BC        CMPY       Extended        8  (6)         4     |
  2320.  
  2321.          |    10BE        LDY        Extended        7  (6)         4     |
  2322.  
  2323.          |    10BF        STY        Extended        7  (6)         4     |
  2324.  
  2325.          |    10CE        LDS        Immediate       4              4     |
  2326.  
  2327.          |  * 10DC        LDQ        Direct          8  (7)         3     |
  2328.  
  2329.          |  * 10DD        STQ        Direct          8  (7)         3     |
  2330.  
  2331.          |    10DE        LDS        Direct          6  (5)         3     |
  2332.  
  2333.          |    10DF        STS        Direct          6  (5)         3     |
  2334.  
  2335.          |  * 10DC        LDQ        Indexed         8+             3+    |
  2336.  
  2337.          |  * 10DD        STQ        Indexed         8+             3+    |
  2338.  
  2339.          |    10EE        LDS        Indexed         6+             3+    |
  2340.  
  2341.          |    10EF        STS        Indexed         6+             3+    |
  2342.  
  2343.          |  * 10DC        LDQ        Extended        9  (8)         4     |
  2344.  
  2345.          |  * 10DD        STQ        Extended        9  (8)         4     |
  2346.  
  2347.          |    10FE        LDS        Extended        7  (6)         4     |
  2348.  
  2349.          |    10FF        STS        Extended        7  (6)         4     |
  2350.  
  2351.          |  * 1130        BAND       Memory          7  (6)         4     |
  2352.  
  2353.          |  * 1131        BIAND      Memory          7  (6)         4     |
  2354.  
  2355.          |  * 1132        BOR        Memory          7  (6)         4     |
  2356.  
  2357.          |  * 1133        BIOR       Memory          7  (6)         4     |
  2358.  
  2359.          |  * 1134        BEOR       Memory          7  (6)         4     |
  2360.  
  2361.          |  * 1135        BIEOR      Memory          7  (6)         4     |
  2362.  
  2363.           ----------------------------------------------------------------
  2364.  
  2365.  
  2366.  
  2367.    Opcode and Mnemonics opcode reference table                          Page 17
  2368.  
  2369.    
  2370.  
  2371.    
  2372.  
  2373.    
  2374.  
  2375.    
  2376.  
  2377.           ________________________________________________________________
  2378.  
  2379.          |                                                                |
  2380.  
  2381.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  2382.  
  2383.          | (* 6309)                                                       |
  2384.  
  2385.          |----------------------------------------------------------------|
  2386.  
  2387.          |  * 1136        LDBT       Memory          7  (6)         4     |
  2388.  
  2389.          |  * 1137        STBT       Memory          8  (7)         4     |
  2390.  
  2391.          |  * 1138        TFM R+,R+  Register        6+3n           3     |
  2392.  
  2393.          |  * 1139        TFM R-,R-  Register        6+3n           3     |
  2394.  
  2395.          |  * 113A        TFM R+,R   Register        6+3n           3     |
  2396.  
  2397.          |  * 113B        TFM R,R+   Register        6+3n           3     |
  2398.  
  2399.          |  * 113C        BITMD      Immediate       4              3     |
  2400.  
  2401.          |  * 113D        LDMD       Immediate       5              5     |
  2402.  
  2403.          |    113F        SWI2       Inherent        20 ( )         2     |
  2404.  
  2405.          |  * 1143        COME       Inherent        3  (2)         2     |
  2406.  
  2407.          |  * 114A        DECE       Inherent        3  (2)         2     |
  2408.  
  2409.          |  * 114C        INCE       Inherent        3  (2)         2     |
  2410.  
  2411.          |  * 114D        TSTE       Inherent        3  (2)         2     |
  2412.  
  2413.          |  * 114F        CLRE       Inherent        3  (2)         2     |
  2414.  
  2415.          |  * 1153        COMF       Inherent        3  (2)         2     |
  2416.  
  2417.          |  * 115A        DECF       Inherent        3  (2)         2     |
  2418.  
  2419.          |  * 115C        INCF       Inherent        3  (2)         2     |
  2420.  
  2421.          |  * 115D        TSTF       Inherent        3  (2)         2     |
  2422.  
  2423.          |  * 115F        CLRF       Inherent        3  (2)         2     |
  2424.  
  2425.          |    11AC        CMPS       Indexed         7  ( )         3     |
  2426.  
  2427.          |  * 1180        SUBE       Immediate       3              3     |
  2428.  
  2429.          |  * 1181        CMPE       Immediate       3              3     |
  2430.  
  2431.          |    1183        CMPU       Immediate       5  (4)         4     |
  2432.  
  2433.          |  * 1186        LDE        Immediate       3              3     |
  2434.  
  2435.          |  * 118B        ADDE       Immediate       3              3     |
  2436.  
  2437.          |    118C        CMPS       Immediate       5  (4)         4     |
  2438.  
  2439.          |  * 118D        DIVD       Immediate       25             4     |
  2440.  
  2441.          |  * 118E        DIVQ       Immediate       36             4     |
  2442.  
  2443.          |  * 118F        MULD       Immediate       28             4     |
  2444.  
  2445.          |  * 1190        SUBE       Direct          5  (4)         3     |
  2446.  
  2447.          |  * 1191        CMPE       Direct          5  (4)         3     |
  2448.  
  2449.          |    1193        CMPU       Direct          7  (5)         3     |
  2450.  
  2451.          |  * 1196        LDE        Direct          5  (4)         3     |
  2452.  
  2453.          |  * 1197        STE        Direct          5  (4)         3     |
  2454.  
  2455.          |  * 119B        ADDE       Direct          5  (4)         3     |
  2456.  
  2457.          |    119C        CMPS       Direct          7  (5)         3     |
  2458.  
  2459.          |  * 119D        DIVD       Direct          27 (26)        3     |
  2460.  
  2461.          |  * 119E        DIVQ       Direct          36 (35)        3     |
  2462.  
  2463.          |  * 119F        MULD       Direct          30 (29)        3     |
  2464.  
  2465.          |  * 11A0        SUBE       Indexed         5+             3+    |
  2466.  
  2467.          |  * 11A1        CMPE       Indexed         5+             3+    |
  2468.  
  2469.          |    11A3        CMPU       Indexed         7+ (6+)        3+    |
  2470.  
  2471.          |  * 11A6        LDE        Indexed         5+             3+    |
  2472.  
  2473.          |  * 11A7        STE        Indexed         5+             3+    |
  2474.  
  2475.          |  * 11AB        ADDE       Indexed         5+             3+    |
  2476.  
  2477.          |    11AC        CMPS       Indexed         7+ (6+)        3+    |
  2478.  
  2479.          |  * 11AD        DIVD       Indexed         27+            3+    |
  2480.  
  2481.          |  * 11AE        DIVQ       Indexed         36+            3+    |
  2482.  
  2483.          |  * 11AF        MULD       Indexed         30+            3+    |
  2484.  
  2485.          |  * 11B0        SUBE       Extended        6  (5)         4     |
  2486.  
  2487.           ----------------------------------------------------------------
  2488.  
  2489.  
  2490.  
  2491.    Opcode and Mnemonics opcode reference table                          Page 18
  2492.  
  2493.    
  2494.  
  2495.    
  2496.  
  2497.    
  2498.  
  2499.    
  2500.  
  2501.           ________________________________________________________________
  2502.  
  2503.          |                                                                |
  2504.  
  2505.          |  Opcode      Mnemonic        Mode         Cycles       Length  |
  2506.  
  2507.          | (* 6309)                                                       |
  2508.  
  2509.          |----------------------------------------------------------------|
  2510.  
  2511.          |  * 11B1        CMPE       Extended        6  (5)         4     |
  2512.  
  2513.          |    11B3        CMPU       Extended        8  (6)         4     |
  2514.  
  2515.          |  * 11B6        LDE        Extended        6  (5)         4     |
  2516.  
  2517.          |  * 11B7        STE        Extended        6  (5)         4     |
  2518.  
  2519.          |  * 11BB        ADDE       Extended        6  (5)         4     |
  2520.  
  2521.          |    11BC        CMPS       Extended        8  (6)         4     |
  2522.  
  2523.          |  * 11BD        DIVD       Extended        28 (27)        4     |
  2524.  
  2525.          |  * 11BE        DIVQ       Extended        37 (36)        4     |
  2526.  
  2527.          |  * 11BF        MULD       Extended        31 (30)        4     |
  2528.  
  2529.          |  * 11C0        SUBF       Immediate       3              3     |
  2530.  
  2531.          |  * 11C1        CMPF       Immediate       3              3     |
  2532.  
  2533.          |  * 11C6        LDF        Immediate       3              3     |
  2534.  
  2535.          |  * 11CB        ADDF       Immediate       3              3     |
  2536.  
  2537.          |  * 11D0        SUBF       Direct          5  (4)         3     |
  2538.  
  2539.          |  * 11D1        CMPF       Direct          5  (4)         3     |
  2540.  
  2541.          |  * 11D6        LDF        Direct          5  (4)         3     |
  2542.  
  2543.          |  * 11D7        STF        Direct          5  (4)         3     |
  2544.  
  2545.          |  * 11DB        ADDF       Direct          5  (4)         3     |
  2546.  
  2547.          |  * 11E0        SUBF       Indexed         5+             3+    |
  2548.  
  2549.          |  * 11E1        CMPF       Indexed         5+             3+    |
  2550.  
  2551.          |  * 11E6        LDF        Indexed         5+             3+    |
  2552.  
  2553.          |  * 11E7        STF        Indexed         5+             3+    |
  2554.  
  2555.          |  * 11EB        ADDF       Indexed         5+             3+    |
  2556.  
  2557.          |  * 11F0        SUBF       Extended        6 (5)          4     |
  2558.  
  2559.          |  * 11F1        CMPF       Extended        6 (5)          4     |
  2560.  
  2561.          |  * 11F6        LDF        Extended        6 (5)          4     |
  2562.  
  2563.          |  * 11F7        STF        Extended        6 (5)          4     |
  2564.  
  2565.          |  * 11FB        ADDF       Extended        6 (5)          4     |
  2566.  
  2567.           ----------------------------------------------------------------
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.    Mnemonics Reference Table                                            Page 19
  2626.  
  2627.    
  2628.  
  2629.    
  2630.  
  2631.    
  2632.  
  2633.                                  Mnemonics Table
  2634.  
  2635.    
  2636.  
  2637.    
  2638.  
  2639.      _________________________________________________________________________
  2640.  
  2641.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  2642.  
  2643.     |        |            |            |            |            |            |
  2644.  
  2645.     |        | OP  ~/~  # | OP  ~/~  + | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  2646.  
  2647.     |--------+------------+------------+------------+------------+------------|
  2648.  
  2649.     | ABX    |            |            |            |            | 3A  3/1  1 |
  2650.  
  2651.     | ADCA   | 89   2   2 | 99  4/3  2 | A9  4+   2+| B9  5/4  3 |            |
  2652.  
  2653.     | ADCB   | C9   2   2 | D9  4/3  2 | E9  4+   2+| F9  5/3  3 |            |
  2654.  
  2655.     |*ADCD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2656.  
  2657.     |        | 89         | 99         | A9         | B9         |            |
  2658.  
  2659.     |--------+------------+------------+------------+------------+------------|
  2660.  
  2661.     | ADDA   | 8B   2   2 | 9B  4/3  2 | AB  4+   2+| BB  5/4  3 |            |
  2662.  
  2663.     | ADDB   | CB   2   2 | DB  4/3  2 | EB  4+   2+| FB  5/4  3 |            |
  2664.  
  2665.     | ADDD   | C3  4/3  3 | D3  6/4  2 | E3 6+/5+ 2+| F3  7/5  3 |            |
  2666.  
  2667.     |*ADDE   | 11   3   3 | 11  5/4  3 | 11  5+   3+| 11  6/5  4 |            |
  2668.  
  2669.     |        | 8B         | 9B         | AB         | BB         |            |
  2670.  
  2671.     |*ADDF   | 11   3   3 | 11  5/4  3 | 11  5+   3+| 11  6/5  4 |            |
  2672.  
  2673.     |        | CB         | DB         | EB         | FB         |            |
  2674.  
  2675.     |*ADDW   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2676.  
  2677.     |        | 8B         | 9B         | AB         | BB         |            |
  2678.  
  2679.     |--------+------------+------------+------------+------------+------------|
  2680.  
  2681.     |*AIM    |            | 02   6   3 | 62   7+  3+| 72   7   4 |            |
  2682.  
  2683.     |--------+------------+------------+------------+------------+------------|
  2684.  
  2685.     | ANDA   | 84   2   2 | 94  4/3  2 | A4   4+  2 | B4  5/4  3 |            |
  2686.  
  2687.     | ANDB   | C4   2   2 | D4  4/3  2 | E4   4+  2 | F4  5/4  3 |            |
  2688.  
  2689.     | ANDCC  | 1C   3   2 |            |            |            |            |
  2690.  
  2691.     |*ANDD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2692.  
  2693.     |        | 84         | 94         | A4         | B4         |            |
  2694.  
  2695.     |--------+------------+------------+------------+------------+------------|
  2696.  
  2697.     | ASLA   |            |            |            |            | 48  2/1  1 |
  2698.  
  2699.     | ASLB   |            |            |            |            | 58  2/1  1 |
  2700.  
  2701.     |*ASLD   |            |            |            |            | 10  3/2  2 |
  2702.  
  2703.     |        |            |            |            |            | 48         |
  2704.  
  2705.     | ASL    |            | 08  6/5  2 | 68  6+   2+| 78  7/6  3 |            |
  2706.  
  2707.     |--------+------------+------------+------------+------------+------------|
  2708.  
  2709.     | ASRA   |            |            |            |            | 47  2/1  1 |
  2710.  
  2711.     | ASRB   |            |            |            |            | 57  2/1  1 |
  2712.  
  2713.     |*ASRD   |            |            |            |            | 10  3/2  1 |
  2714.  
  2715.     |        |            |            |            |            | 47         |
  2716.  
  2717.     | ASR    |            | 07  6/6  2 | 67  6+   2+| 77  7/6  3 |            |
  2718.  
  2719.     |--------+------------+------------+------------+------------+------------|
  2720.  
  2721.     | BITA   | 85   2   2 | 95  4/3  2 | A5   4+  2+| B5  5/4  3 |            |
  2722.  
  2723.     | BITB   | C5   2   2 | D5  4/3  2 | E5   4+  2+| F5  5/4  3 |            |
  2724.  
  2725.     | BITD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2726.  
  2727.     |        | 85         | 95         | A5         | B5         |            |
  2728.  
  2729.     | BITMD  | 11   4   3 |            |            |            |            |
  2730.  
  2731.     |        | 3C         |            |            |            |            |
  2732.  
  2733.     |--------+------------+------------+------------+------------+------------|
  2734.  
  2735.     | CLRA   |            |            |            |            | 4F  2/1  1 |
  2736.  
  2737.     | CLRB   |            |            |            |            | 5F  2/1  1 |
  2738.  
  2739.     |*CLRD   |            |            |            |            | 10  3/2  2 |
  2740.  
  2741.     |        |            |            |            |            | 4F         |
  2742.  
  2743.     |*CLRE   |            |            |            |            | 11  3/2  2 |
  2744.  
  2745.     |        |            |            |            |            | 4F         |
  2746.  
  2747.     |*CLRF   |            |            |            |            | 11  3/2  2 |
  2748.  
  2749.     |        |            |            |            |            | 5F         |
  2750.  
  2751.     |*CLRW   |            |            |            |            | 10  3/2  2 |
  2752.  
  2753.     |        |            |            |            |            | 5F         |
  2754.  
  2755.     | CLR    |            | 0F  6/5  2 | 6F   6+  2+| 7F  7/6  3 |            |
  2756.  
  2757.      -------------------------------------------------------------------------
  2758.  
  2759.  
  2760.  
  2761.    Mnemonics Reference Table                                            Page 20
  2762.  
  2763.    
  2764.  
  2765.    
  2766.  
  2767.      _________________________________________________________________________
  2768.  
  2769.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  2770.  
  2771.     |        |            |            |            |            |            |
  2772.  
  2773.     |        | OP  ~/~  # | OP  ~/~  + | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  2774.  
  2775.     |--------+------------+------------+------------+------------+------------|
  2776.  
  2777.     | CMPA   | 81   2   2 | 91  4/3  2 | A1   4+  2+| B1  5/4  3 |            |
  2778.  
  2779.     | CMPB   | C1   2   2 | D1  4/3  2 | E1   4+  2+| F1  5/4  3 |            |
  2780.  
  2781.     | CMPD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2782.  
  2783.     |        | 83         | 93         | A3         | B3         |            |
  2784.  
  2785.     |*CMPE   | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  2786.  
  2787.     |        | 81         | 91         | A1         | B1         |            |
  2788.  
  2789.     |*CMPF   | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  2790.  
  2791.     |        | C1         | D1         | E1         | F1         |            |
  2792.  
  2793.     | CMPS   | 11  5/4  4 | 11  7/5  3 | 11 7+/6+ 3+| 11  8/6  4 |            |
  2794.  
  2795.     |        | 8C         | 9C         | AC         | BC         |            |
  2796.  
  2797.     | CMPU   | 11  5/4  4 | 11  7/5  3 | 11 7+/6+ 3+| 11  8/6  4 |            |
  2798.  
  2799.     |        | 83         | 93         | A3         | B3         |            |
  2800.  
  2801.     |*CMPW   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2802.  
  2803.     |        | 81         | 91         | A1         | B1         |            |
  2804.  
  2805.     | CMPX   | 8C  4/3  3 | 9C  6/4  2 | AC 6+/5+ 2+| BC  7/5  3 |            |
  2806.  
  2807.     | CMPY   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2808.  
  2809.     |        | 8C         | 9C         | AC         | BC         |            |
  2810.  
  2811.     |--------+------------+------------+------------+------------+------------|
  2812.  
  2813.     | COMA   |            |            |            |            | 43  2/1  1 |
  2814.  
  2815.     | COMB   |            |            |            |            | 53  2/1  1 |
  2816.  
  2817.     |*COMD   |            |            |            |            | 10  3/2  2 |
  2818.  
  2819.     |        |            |            |            |            | 43         |
  2820.  
  2821.     |*COME   |            |            |            |            | 11  3/2  2 |
  2822.  
  2823.     |        |            |            |            |            | 43         |
  2824.  
  2825.     |*COMF   |            |            |            |            | 11  3/2  2 |
  2826.  
  2827.     |        |            |            |            |            | 53         |
  2828.  
  2829.     |*COMW   |            |            |            |            | 10  3/2  2 |
  2830.  
  2831.     |        |            |            |            |            | 53         |
  2832.  
  2833.     | COM    |            | 03  6/5  2 | 63   6+  2+| 73  7/6  3 |            |
  2834.  
  2835.     |--------+------------+------------+------------+------------+------------|
  2836.  
  2837.     | CWAI   | 3C 22/20 2 |            |            |            |            |
  2838.  
  2839.     |--------+------------+------------+------------+------------+------------|
  2840.  
  2841.     | DAA    |            |            |            |            | 19  2/1  1 |
  2842.  
  2843.     |--------+------------+------------+------------+------------+------------|
  2844.  
  2845.     | DECA   |            |            |            |            | 4A  2/1  1 |
  2846.  
  2847.     | DECB   |            |            |            |            | 5A  2/1  1 |
  2848.  
  2849.     |*DECD   |            |            |            |            | 10  3/2  2 |
  2850.  
  2851.     |        |            |            |            |            | 4A         |
  2852.  
  2853.     |*DECE   |            |            |            |            | 11  3/2  2 |
  2854.  
  2855.     |        |            |            |            |            | 4A         |
  2856.  
  2857.     |*DECF   |            |            |            |            | 11  3/2  2 |
  2858.  
  2859.     |        |            |            |            |            | 5A         |
  2860.  
  2861.     |*DECW   |            |            |            |            | 10  3/2  2 |
  2862.  
  2863.     |        |            |            |            |            | 5A         |
  2864.  
  2865.     | DEC    |            | 0A  6/5  2 | 6A   6+  2+| 7A  7/6  3 |            |
  2866.  
  2867.     |--------+------------+------------+------------+------------+------------|
  2868.  
  2869.     |*DIVD   | 11   25  3 | 11 27/26 3 | 11  27+  3+| 11 28/27 4 |            |
  2870.  
  2871.     |        | 8D         | 9D         | AD         | BD         |            |
  2872.  
  2873.     |*DIVQ   | 11   34  4 | 11 36/35 3 | 11  36+  3+| 11 37/36 4 |            |
  2874.  
  2875.     |        | 8E         | 9E         | AE         | BE         |            |
  2876.  
  2877.     |--------+------------+------------+------------+------------+------------|
  2878.  
  2879.     |*EIM    |            | 05   6   3 | 65   7+  3+| 75   7   4 |            |
  2880.  
  2881.     |--------+------------+------------+------------+------------+------------|
  2882.  
  2883.     | EORA   | 88   2   2 | 98  4/3  2 | A8   4+  2+| B8  5/4  3 |            |
  2884.  
  2885.     | EORB   | C8   2   # | D8  4/3  2 | E8   4+  2+| F8  5/4  3 |            |
  2886.  
  2887.     |*EORD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  2888.  
  2889.     |        | 88         | 98         | A8         | B8         |            |
  2890.  
  2891.      -------------------------------------------------------------------------
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.    Mnemonics Reference Table                                            Page 21
  2898.  
  2899.    
  2900.  
  2901.    
  2902.  
  2903.      _________________________________________________________________________
  2904.  
  2905.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  2906.  
  2907.     |        |            |            |            |            |            |
  2908.  
  2909.     |        | OP  ~/~  # | OP  ~/~  + | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  2910.  
  2911.     |--------+------------+------------+------------+------------+------------|
  2912.  
  2913.     | EXG    | 1E  8/5  2 |            |            |            |            |
  2914.  
  2915.     |--------+------------+------------+------------+------------+------------|
  2916.  
  2917.     | INCA   |            |            |            |            | 4C  2/1  1 |
  2918.  
  2919.     | INCB   |            |            |            |            | 5C  2/1  1 |
  2920.  
  2921.     |*INCD   |            |            |            |            | 10  3/2  2 |
  2922.  
  2923.     |        |            |            |            |            | 4C         |
  2924.  
  2925.     |*INCE   |            |            |            |            | 11  3/2  2 |
  2926.  
  2927.     |        |            |            |            |            | 4C         |
  2928.  
  2929.     |*INCF   |            |            |            |            | 11  3/2  2 |
  2930.  
  2931.     |        |            |            |            |            | 5C         |
  2932.  
  2933.     |*INCW   |            |            |            |            | 10  3/2  2 |
  2934.  
  2935.     |        |            |            |            |            | 5C         |
  2936.  
  2937.     | INC    |            | 0C  6/5  2 | 6C   6+  2+| 7C  7/6  3 |            |
  2938.  
  2939.     |--------+------------+------------+------------+------------+------------|
  2940.  
  2941.     | JMP    |            | 0E  3/2  2 | 6E   3+  2+| 7E  4/3  3 |            |
  2942.  
  2943.     |--------+------------+------------+------------+------------+------------|
  2944.  
  2945.     | JSR    |            | 9D  7/6  2 | AD 7+/6+ 2+| BD  8/7  3 |            |
  2946.  
  2947.     |--------+------------+------------+------------+------------+------------|
  2948.  
  2949.     | LDA    | 86   2   2 | 96  4/3  2 | A6   4+  2+| B6  5/4  3 |            |
  2950.  
  2951.     | LDB    | C6   2   2 | D6  4/3  2 | E6   4+  2+| F6  5/4  3 |            |
  2952.  
  2953.     | LDD    | CC   3   3 | DC  5/4  2 | EC   5+  2+| FC  6/5  3 |            |
  2954.  
  2955.     |*LDE    | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  2956.  
  2957.     |        | 86         | 96         | A6         | B6         |            |
  2958.  
  2959.     |*LDF    | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  2960.  
  2961.     |        | C6         | D6         | E6         | F6         |            |
  2962.  
  2963.     |*LDQ    | CD   5   5 | 10  8/7  3 | 10   8+  3+| 10  9/8  4 |            |
  2964.  
  2965.     |        |            | DC         | EC         | FC         |            |
  2966.  
  2967.     | LDS    | 10   4   4 | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  2968.  
  2969.     |        | CE         | DE         | EE         | FE         |            |
  2970.  
  2971.     | LDU    | CE   3   3 | DE  5/4  2 | EE   5+  2+| FE  6/5  3 |            |
  2972.  
  2973.     |*LDW    | 10   4   4 | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  2974.  
  2975.     |        | 86         | 96         | A6         | B6         |            |
  2976.  
  2977.     | LDX    | 8E   3   3 | 9E  5/4  2 | AE   5+  2+| BE  6/5  3 |            |
  2978.  
  2979.     | LDY    | 10   4   4 | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  2980.  
  2981.     |        | 8E         | 9E         | AE         | BE         |            |
  2982.  
  2983.     |*LDMD   | 11   5   3 |            |            |            |            |
  2984.  
  2985.     |        | 3D         |            |            |            |            |
  2986.  
  2987.     |--------+------------+------------+------------+------------+------------|
  2988.  
  2989.     | LEAS   |            |            | 32   4+  2+|            |            |
  2990.  
  2991.     | LEAU   |            |            | 33   4+  2+|            |            |
  2992.  
  2993.     | LEAX   |            |            | 30   4+  2+|            |            |
  2994.  
  2995.     | LEAY   |            |            | 31   4+  2+|            |            |
  2996.  
  2997.     |--------+------------+------------+------------+------------+------------|
  2998.  
  2999.     | LSLA/LSLB/LSLD/LSL - Same as ASL                                        |
  3000.  
  3001.     |--------+------------+------------+------------+------------+------------|
  3002.  
  3003.     | LSRA   |            |            |            |            | 44  2/1  1 |
  3004.  
  3005.     | LSRB   |            |            |            |            | 54  2/1  1 |
  3006.  
  3007.     |*LSRD   |            |            |            |            | 10  3/2  2 |
  3008.  
  3009.     |        |            |            |            |            | 44         |
  3010.  
  3011.     |*LSRW   |            |            |            |            | 10  3/2  2 |
  3012.  
  3013.     |        |            |            |            |            | 54         |
  3014.  
  3015.     | LSR    |            | 04  6/5  2 | 64   6+  2+| 74  7/6  3 |            |
  3016.  
  3017.     |--------+------------+------------+------------+------------+------------|
  3018.  
  3019.     | MUL    |            |            |            |            | 3D 11/10 1 |
  3020.  
  3021.     |*MULD   | 11   28  4 | 11 30/29 3 | 11  30+  3+| 11 31/30 4 |            |
  3022.  
  3023.     |        | 8F         | 9F         | AF         | BF         |            |
  3024.  
  3025.      -------------------------------------------------------------------------
  3026.  
  3027.  
  3028.  
  3029.    Mnemonics Reference Table                                            Page 22
  3030.  
  3031.    
  3032.  
  3033.    
  3034.  
  3035.      _________________________________________________________________________
  3036.  
  3037.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  3038.  
  3039.     |        |            |            |            |            |            |
  3040.  
  3041.     |        | OP  ~/~  # | OP  ~/~  + | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  3042.  
  3043.     |--------+------------+------------+------------+------------+------------|
  3044.  
  3045.     | NEGA   |            |            |            |            | 40  2/1  1 |
  3046.  
  3047.     | NEGB   |            |            |            |            | 50  2/1  1 |
  3048.  
  3049.     |*NEGD   |            |            |            |            | 10  3/2  2 |
  3050.  
  3051.     |        |            |            |            |            | 40         |
  3052.  
  3053.     | NEG    |            | 00  6/5  2 | 60   6+  2+| 70  7/6  3 |            |
  3054.  
  3055.     |--------+------------+------------+------------+------------+------------|
  3056.  
  3057.     | NOP    |            |            |            |            | 12  2/1  1 |
  3058.  
  3059.     |--------+------------+------------+------------+------------+------------|
  3060.  
  3061.     |*OIM    |            | 01   6   3 | 61   7+  3+| 71   7   4 |            |
  3062.  
  3063.     |--------+------------+------------+------------+------------+------------|
  3064.  
  3065.     | ORA    | 8A   2   2 | 9A  4/3  2 | AA   4+  2 | BA  5/4  3 |            |
  3066.  
  3067.     | ORB    | CA   2   2 | DA  4/3  2 | EA   4+  2 | FA  5/4  3 |            |
  3068.  
  3069.     | ORCC   | 1A  3/2  2 |            |            |            |            |
  3070.  
  3071.     |*ORD    | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  3072.  
  3073.     |        | 8A         | 9A         | AA         | BA         |            |
  3074.  
  3075.     |--------+------------+------------+------------+------------+------------|
  3076.  
  3077.     | PSHS   | 34 5+/4+ 2 |            |            |            |            |
  3078.  
  3079.     | PSHU   | 36 5+/4+ 2 |            |            |            |            |
  3080.  
  3081.     |*PSHSW  | 10   6   2 |            |            |            |            |
  3082.  
  3083.     |        | 38   6   2 |            |            |            |            |
  3084.  
  3085.     |*PSHUW  | 10   6   2 |            |            |            |            |
  3086.  
  3087.     |        | 3A   6   2 |            |            |            |            |
  3088.  
  3089.     |--------+------------+------------+------------+------------+------------|
  3090.  
  3091.     | PULS   | 35 5+/4+ 2 |            |            |            |            |
  3092.  
  3093.     | PULU   | 37 5+/4+ 2 |            |            |            |            |
  3094.  
  3095.     |*PULSW  | 10   6   2 |            |            |            |            |
  3096.  
  3097.     |        | 39         |            |            |            |            |
  3098.  
  3099.     |*PULUW  | 10   6   2 |            |            |            |            |
  3100.  
  3101.     |        | 3B         |            |            |            |            |
  3102.  
  3103.     |--------+------------+------------+------------+------------+------------|
  3104.  
  3105.     | ROLA   |            |            |            |            | 49  2/1  1 |
  3106.  
  3107.     | ROLB   |            |            |            |            | 59  2/1  1 |
  3108.  
  3109.     |*ROLD   |            |            |            |            | 10  3/2  2 |
  3110.  
  3111.     |        |            |            |            |            | 49         |
  3112.  
  3113.     |*ROLW   |            |            |            |            | 10  3/2  2 |
  3114.  
  3115.     |        |            |            |            |            | 59         |
  3116.  
  3117.     | ROL    |            | 09  6/5  2 | 69   6+  2+| 79  7/6  3 |            |
  3118.  
  3119.     |--------+------------+------------+------------+------------+------------|
  3120.  
  3121.     | RORA   |            |            |            |            | 46  2/1  1 |
  3122.  
  3123.     | RORB   |            |            |            |            | 56  2/1  1 |
  3124.  
  3125.     |*RORD   |            |            |            |            | 10  3/2  2 |
  3126.  
  3127.     |        |            |            |            |            | 46         |
  3128.  
  3129.     |*RORW   |            |            |            |            | 10  3/2  2 |
  3130.  
  3131.     |        |            |            |            |            | 56         |
  3132.  
  3133.     | ROR    |            | 06  6/5  2 | 66   6+  2+| 76  7/6  3 |            |
  3134.  
  3135.     |--------+------------+------------+------------+------------+------------|
  3136.  
  3137.     | RTI    |            |            |            |            | 3B  6/17 1 |
  3138.  
  3139.     |        |            |            |            |            |    15/17   |
  3140.  
  3141.     |--------+------------+------------+------------+------------+------------|
  3142.  
  3143.     | RTS    |            |            |            |            | 39  5/4  1 |
  3144.  
  3145.     |--------+------------+------------+------------+------------+------------|
  3146.  
  3147.     | SBCA   | 82   2   2 | 92  4/3  2 | A2   4+  2+| B2  5/4  3 |            |
  3148.  
  3149.     | SBCB   | C2   2   2 | D2  4/3  2 | E2   4+  2+| F2  5/2  3 |            |
  3150.  
  3151.     |*SBCD   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  3152.  
  3153.     |        | 82         | 92         | A2         | B2         |            |
  3154.  
  3155.     |--------+------------+------------+------------+------------+------------|
  3156.  
  3157.     | SEX    |            |            |            |            | 1D  2/1  1 |
  3158.  
  3159.     |*SEXW   |            |            |            |            | 14   4   1 |
  3160.  
  3161.      -------------------------------------------------------------------------
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.    Mnemonics Reference Table                                            Page 23
  3168.  
  3169.    
  3170.  
  3171.    
  3172.  
  3173.      _________________________________________________________________________
  3174.  
  3175.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  3176.  
  3177.     |        |            |            |            |            |            |
  3178.  
  3179.     |        | OP  ~/~  # | OP  ~/~  + | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  3180.  
  3181.     |--------+------------+------------+------------+------------+------------|
  3182.  
  3183.     | STA    |            | 97  4/3  2 | A7   4+  2+| B7  5/4  3 |            |
  3184.  
  3185.     | STB    |            | D7  4/3  2 | E7   4+  2+| F7  5/4  3 |            |
  3186.  
  3187.     | STD    |            | DC  5/4  2 | EC   5+  2+| FC  6/5  3 |            |
  3188.  
  3189.     |*STE    |            | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  3190.  
  3191.     |        |            | 97         | A7         | B7         |            |
  3192.  
  3193.     |*STF    |            | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  3194.  
  3195.     |        |            | D7         | E7         | F7         |            |
  3196.  
  3197.     |*STQ    |            | 10  8/7  3 | 10   8+  3+| 10  9/8  4 |            |
  3198.  
  3199.     |        |            | DD         | ED         | FD         |            |
  3200.  
  3201.     |*STS    |            | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  3202.  
  3203.     |        |            | DF         | EF         | FF         |            |
  3204.  
  3205.     | STU    |            | DF  5/4  2 | EF   5+  2+| FF  6/5  3 |            |
  3206.  
  3207.     |*STW    |            | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  3208.  
  3209.     |        |            | 97         | A7         | B7         |            |
  3210.  
  3211.     | STX    |            | 9F  5/4  2 | AF   5+  2+| BF  6/5  3 |            |
  3212.  
  3213.     | STY    |            | 10  6/5  3 | 10   6+  3+| 10  7/6  4 |            |
  3214.  
  3215.     |        |            | 9F         | AF         | BF         |            |
  3216.  
  3217.     |--------+------------+------------+------------+------------+------------|
  3218.  
  3219.     | SUBA   | 80   2   2 | 90  4/3  2 | A0   4+  2+| B0  5/4  3 |            |
  3220.  
  3221.     | SUBB   | C0   2   2 | D0  4/3  2 | E0   4+  2+| F0  5/4  3 |            |
  3222.  
  3223.     | SUBD   | 83  4/3  3 | 93  6/4  3 | A3 6+/5+ 2+| B3  7/5  3 |            |
  3224.  
  3225.     |*SUBE   | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  3226.  
  3227.     |        | 80         | 90         | A0         | B0         |            |
  3228.  
  3229.     |*SUBF   | 11   3   3 | 11  5/4  3 | 11   5+  3+| 11  6/5  4 |            |
  3230.  
  3231.     |        | C0         | D0         | E0         | F0         |            |
  3232.  
  3233.     |*SUBW   | 10  5/4  4 | 10  7/5  3 | 10 7+/6+ 3+| 10  8/6  4 |            |
  3234.  
  3235.     |        | 80         | 90         | A0         | B0         |            |
  3236.  
  3237.     |--------+------------+------------+------------+------------+------------|
  3238.  
  3239.     | SWI    |            |            |            |            | 3F 19/21 1 |
  3240.  
  3241.     | SWI2   |            |            |            |            | 10 20/22 2 |
  3242.  
  3243.     |        |            |            |            |            | 3F         |
  3244.  
  3245.     | SWI3   |            |            |            |            | 11 20/22 2 |
  3246.  
  3247.     |        |            |            |            |            | 3F         |
  3248.  
  3249.     |--------+------------+------------+------------+------------+------------|
  3250.  
  3251.     | SYNC   |            |            |            |            | 13 2+/1+ 1 |
  3252.  
  3253.     |--------+------------+------------+------------+------------+------------|
  3254.  
  3255.     | TFR   1| 1F  6/4  2 |            |            |            |            |
  3256.  
  3257.     |--------+------------+------------+------------+------------+------------|
  3258.  
  3259.     |*TIM    |            | 0B   6   3 | 6B   7+  3+| 7B   5   4 |            |
  3260.  
  3261.     |--------+------------+------------+------------+------------+------------|
  3262.  
  3263.     | TSTA   |            |            |            |            | 4D  2/1  1 |
  3264.  
  3265.     | TSTB   |            |            |            |            | 5D  2/1  1 |
  3266.  
  3267.     |*TSTD   |            |            |            |            | 10  3/2  2 |
  3268.  
  3269.     |        |            |            |            |            | 4D         |
  3270.  
  3271.     |*TSTE   |            |            |            |            | 11  3/2  2 |
  3272.  
  3273.     |        |            |            |            |            | 4D         |
  3274.  
  3275.     |*TSTF   |            |            |            |            | 11  3/2  2 |
  3276.  
  3277.     |        |            |            |            |            | 5D         |
  3278.  
  3279.     |*TSTW   |            |            |            |            | 10  3/2  2 |
  3280.  
  3281.     |        |            |            |            |            | 5D         |
  3282.  
  3283.     | TST    |            | 0D  6/4  2 | 6D 6+/5+ 2+| 7D  7/5  3 |            |
  3284.  
  3285.      _________________________________________________________________________
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.    Mnemonics Reference Table                                            Page 24
  3304.  
  3305.    
  3306.  
  3307.    
  3308.  
  3309.    
  3310.  
  3311.                                Branch Instructions
  3312.  
  3313.      _____________________     _____________________     _____________________
  3314.  
  3315.     |  Mnem  |   Immed.   |   |  Mnem  |   Immed.   |   |  Mnem  |   Immed.   |
  3316.  
  3317.     |        |            |   |        |            |   |        |            |
  3318.  
  3319.     |        | OP  ~/~  # |   |        | OP  ~/~  # |   |        | OP  ~/~  # |
  3320.  
  3321.     |--------+------------+   |--------+------------+   |--------+------------+
  3322.  
  3323.     | BCC    | 24   3   2 |   | BLE    | 2F   3   2 |   | BPL    | 2A   3   2 |
  3324.  
  3325.     | LBCC   | 10  5/6  4 |   | LBLE   | 10  5/6  4 |   | LBPL   | 10  5/6  4 |
  3326.  
  3327.     |        | 24         |   |        | 2F         |   |        | 2A         |
  3328.  
  3329.     | BCS    | 25   3   2 |   | BLO    | 25   3   2 |   | BRA    | 20   3   2 |
  3330.  
  3331.     | LBCS   | 10  5/6  4 |   | LBLO   | 10  5/6  4 |   | LBRA   | 16  5/4  3 |
  3332.  
  3333.     |        | 25         |   |        | 25         |   |        |            |
  3334.  
  3335.     | BEQ    | 27   3   2 |   | BLS    | 23   3   2 |   | BRN    | 21   3   2 |
  3336.  
  3337.     | LBEQ   | 10  5/6  4 |   | LBLS   | 10  5/6  4 |   | LBRN   | 10  5/6  4 |
  3338.  
  3339.     |        | 27         |   |        | 23         |   |        | 21         |
  3340.  
  3341.     | BGE    | 2C   3   2 |   | BLT    | 2D   3   2 |   | BSR    | 8D  7/6  2 |
  3342.  
  3343.     | LBGE   | 10  5/6  4 |   | LBLT   | 10  5/6  4 |   | LBSR   | 17  9/7  3 |
  3344.  
  3345.     |        | 2C         |   |        | 2D         |   |        |            |
  3346.  
  3347.     | BGT    | 2E   3   2 |   | BMI    | 28   3   2 |   | BVC    | 28   3   2 |
  3348.  
  3349.     | LBGT   | 10  5/6  4 |   | LBMI   | 10  5/6  4 |   | LBVC   | 10  5/6  4 |
  3350.  
  3351.     |        | 2E         |   |        | 28         |   |        | 28         |
  3352.  
  3353.     | BHI    | 22   3   2 |   | BNE    | 26   3   2 |   | BVS    | 29   3   2 |
  3354.  
  3355.     | LBHI   | 10  5/6  4 |   | LBNE   | 10  5/6  4 |   | LBVS   | 10  5/6  4 |
  3356.  
  3357.     |        | 22         |   |        | 26         |   |        | 29         |
  3358.  
  3359.     | BHS    | 2F   3   2 |    ---------------------     --------------------- 
  3360.  
  3361.     | LBHS   | 10  5/6  4 |
  3362.  
  3363.     |        | 2F         |
  3364.  
  3365.      ---------------------
  3366.  
  3367.    
  3368.  
  3369.    
  3370.  
  3371.                             Bit Transfer/Manipulation
  3372.  
  3373.    
  3374.  
  3375.      _____________________
  3376.  
  3377.     |  Mnem  |   Direct   |                  Post-Byte
  3378.  
  3379.     |        |            |
  3380.  
  3381.     |        | OP  ~/~  # |          --------------------------
  3382.  
  3383.     |--------+------------|         | 7  6 | 5  4  3 | 2  1  0 |
  3384.  
  3385.     |*BAND   | 11  7/6  4 |          --------------------------
  3386.  
  3387.     |        | 30         |
  3388.  
  3389.     |*BIAND  | 11  7/6  4 |          Bits 7 and 6: Register 
  3390.  
  3391.     |        | 31         |
  3392.  
  3393.     |*BOR    | 11  7/6  4 |            00 - CC   10 - B
  3394.  
  3395.     |        | 32         |            01 - A    11 - Unused
  3396.  
  3397.     |*BIOR   | 11  7/6  4 |
  3398.  
  3399.     |        | 33         |          Bits 5, 4 and 3: Source Bit
  3400.  
  3401.     |*BEOR   | 11  7/6  4 |
  3402.  
  3403.     |        | 34         |          Bits 2, 1 and 0: Destination bit
  3404.  
  3405.     |*BIEOR  | 11  7/6  4 |
  3406.  
  3407.     |        | 35         |
  3408.  
  3409.     |*LDBT   | 11  7/6  4 |      Source/Destination Bit in binary form:
  3410.  
  3411.     |        | 36         |
  3412.  
  3413.     |*STBT   | 11  8/7  4 |      0 - 000   2 - 010   5 - 100    6 - 110
  3414.  
  3415.     |        | 37         |      1 - 001   3 - 011   5 - 101    7 - 111
  3416.  
  3417.      ---------------------
  3418.  
  3419.    
  3420.  
  3421.         Both  the  source  and  destination  bit  portions of the post-byte are
  3422.  
  3423.    looked at by the 6309 as the actual bit NUMBER to  transfer/store.  Use  the
  3424.  
  3425.    binary  equivilant  of the numbers (0 thru 7) and position them into the bit
  3426.  
  3427.    area of the post byte. 
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.    Mnemonics Reference Table                                            Page 25
  3436.  
  3437.    
  3438.  
  3439.    
  3440.  
  3441.    
  3442.  
  3443.                             Logical Memory Operations
  3444.  
  3445.    
  3446.  
  3447.      _________________________________________________________________________
  3448.  
  3449.     |  Mnem  |   Immed.   |   Direct   |   Indexed  |  Extended  |  Inherent  |
  3450.  
  3451.     |        |            |            |            |            |            |
  3452.  
  3453.     |        | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # | OP  ~/~  # |
  3454.  
  3455.     |--------+------------+------------+------------+------------+------------|
  3456.  
  3457.     |*AIM    |            | 02   6   3 | 62   7+  3+| 72   7   4 |            |
  3458.  
  3459.     |*EIM    |            | 05   6   3 | 65   7+  3+| 75   7   4 |            |
  3460.  
  3461.     |*OIM    |            | 01   6   3 | 61   7+  3+| 71   7   4 |            |
  3462.  
  3463.     |*TIM    |            | 0B   6   3 | 6B   7+  3+| 7B   5   4 |            |
  3464.  
  3465.      -------------------------------------------------------------------------
  3466.  
  3467.    
  3468.  
  3469.    
  3470.  
  3471.    
  3472.  
  3473.         Inter-Register Instructions               Transfer/Exchange and
  3474.  
  3475.      __________________________________          Inter-Register Post Byte
  3476.  
  3477.     |  Mnem  |   Forms    |  Register  |
  3478.  
  3479.     |        |            |            |     _______________|_______________
  3480.  
  3481.     |        |            | OP  ~/~  + |    |   |   |   |   |   |   |   |   |
  3482.  
  3483.     |--------+------------+------------|    |     SOURCE    |  DESTINATION  | 
  3484.  
  3485.     |*ADCR   | R0,R1      | 10   4   3 |    |___|___|___|___|___|___|___|___| 
  3486.  
  3487.     |        |            | 31         |        HI NIBBLE   |  LOW NIBBLE
  3488.  
  3489.     |*ADDR   | R0,R1      | 10   4   3 |
  3490.  
  3491.     |        |            | 30         |
  3492.  
  3493.     |*ANDR   | R0,R1      | 10   4   3 |             Register Field
  3494.  
  3495.     |        |            | 34         |          (source or destination) 
  3496.  
  3497.     |*CMPR   | R0,R1      | 10   4   3 |
  3498.  
  3499.     |        |            | 37         |      0000 - D (A:B)    1000 - A
  3500.  
  3501.     |*EORR   | R0,R1      | 10   4   3 |      0001 - X          1001 - B 
  3502.  
  3503.     |        |            | 36         |      0010 - Y          1010 - CCR
  3504.  
  3505.     | EXG    | R0,R1      | 1E  8/5  2 |      0011 - U          1011 - DPR 
  3506.  
  3507.     |*ORR    | R0,R1      | 10   4   3 |      0100 - S          1100 - 0
  3508.  
  3509.     |        |            | 35         |      0101 - PC         1101 - 0 
  3510.  
  3511.     |*SBCR   | R0,R1      | 10   4   3 |      0110 - W          1110 - E 
  3512.  
  3513.     |        |            | 33         |      0111 - V          1111 - F 
  3514.  
  3515.     |*SUBR   | R0,R1      | 10   4   3 |
  3516.  
  3517.     |        |            | 32         |
  3518.  
  3519.     | TFR    | R0,R1      | 1F  6/4  2 |  The  results  of all  Inter-Register
  3520.  
  3521.     |*TFM    | R0+,R1+    | 11  6+3n 3 |  operations are  passsed into R1 with
  3522.  
  3523.     |        |            | 38         |  the exception of EXG which exchanges
  3524.  
  3525.     |*TFM    | R0-,R1-    | 11  6+3n 3 |  the values of  registers and the TFR
  3526.  
  3527.     |        |            | 39         |  block transfers.
  3528.  
  3529.     |*TFM    | R0+,R1     | 11  6+3n 3 |
  3530.  
  3531.     |        |            | 3A         |  The register field codes %1100 and
  3532.  
  3533.     |*TFM    | R0,R1+     | 11  6+3n 3 |  %1101 are both zero registers.  They
  3534.  
  3535.     |        |            | 3B         |  can be used as source or destination.
  3536.  
  3537.      ----------------------------------
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.    Mnemonics Reference Table                                            Page 26
  3568.  
  3569.    
  3570.  
  3571.    
  3572.  
  3573.    
  3574.  
  3575.                  Indexed Address Modes and Post byte Information 
  3576.  
  3577.    
  3578.  
  3579.    
  3580.  
  3581.     __________________________________________________________________________
  3582.  
  3583.    |                           Non-Indirect Modes                             |
  3584.  
  3585.    |--------------------------------------------------------------------------|
  3586.  
  3587.    |         Type            |     Forms     | Assembler | PostByte | +/+ | + |
  3588.  
  3589.    |                         |               |   form    | OP code  | ~/~ | # |
  3590.  
  3591.    |-------------------------+---------------+-----------+----------+-----+---|
  3592.  
  3593.    | Constant offset from R  | No offset     |    ,R     | 1rr00100 |  0  | 0 |
  3594.  
  3595.    |                         | 5 bit offset  |   n,R     | 0rrnnnnn |  1  | 0 |
  3596.  
  3597.    |                         | 8 bit offset  |   n,R     | 1rr01000 |  1  | 1 |
  3598.  
  3599.    |                         | 16 bit offset |   n,R     | 1rr01001 | 4/3 | 2 |
  3600.  
  3601.    |-------------------------+---------------+-----------+----------+-----+---|
  3602.  
  3603.    | Accumulator offset      | A - Register  |   A,R     | 1rr00110 |  1  | 0 |
  3604.  
  3605.    | from R (Twos complement | B - Register  |   B,R     | 1rr00101 |  1  | 0 |
  3606.  
  3607.    |*offset)                 | E - Register  |   E,R     | 1rr00111 |  1  | 0 |
  3608.  
  3609.    |*                        | F - Register  |   F,R     | 1rr01010 |  1  | 0 |
  3610.  
  3611.    |                         | D - Register  |   D,R     | 1rr01011 | 4/2 | 0 |
  3612.  
  3613.    |*                        | W - Register  |   W,R     | 1rr01110 | 4/1 | 0 |
  3614.  
  3615.    |-------------------------+---------------+-----------+----------+-----+---|
  3616.  
  3617.    | Auto increment and      | Increment 1   |    ,R+    | 1rr00000 | 2/1 | 0 |
  3618.  
  3619.    | decrement of R          | Increment 2   |    ,R++   | 1rr00001 | 3/2 | 0 |
  3620.  
  3621.    |                         | Decrement 1   |    ,-R    | 1rr00010 | 2/1 | 0 |
  3622.  
  3623.    |                         | Decrement 2   |    ,--R   | 1rr00011 | 3/2 | 0 |
  3624.  
  3625.    |-------------------------+---------------+-----------+----------+-----+---|
  3626.  
  3627.    | Constant offset from PC | 8 bit offset  |   n,PC    | 1xx01100 |  1  | 1 |
  3628.  
  3629.    | (Twos complement offset)| 16 bit offset |   n,PC    | 1xx01101 | 5/3 | 2 |
  3630.  
  3631.    |-------------------------+---------------+-----------+----------+-----+---|
  3632.  
  3633.    |*Relative to W           | No Offset     |   ,W      | 10001111 |  0  | 0 |
  3634.  
  3635.    |*(Twos complement offset)| 16 bit offset |   n,W     | 10101111 | 5/2 | 2 |
  3636.  
  3637.    |* AutoIncrement W        | Increment 2   |   ,W++    | 11001111 | 3/1 | 0 |
  3638.  
  3639.    |* AutoDecrement W        | Decrement 2   |   ,--W    | 11101111 | 3/1 | 0 |
  3640.  
  3641.     -------------------------------------------------------------------------- 
  3642.  
  3643.    
  3644.  
  3645.    
  3646.  
  3647.    
  3648.  
  3649.     __________________________________________________________________________
  3650.  
  3651.    |                             Indirect Modes                               |
  3652.  
  3653.    |--------------------------------------------------------------------------|
  3654.  
  3655.    |         Type            |     Forms     | Assembler | Post--byte | + | + |
  3656.  
  3657.    |                         |               |   form    |  OP code   | ~ | # |
  3658.  
  3659.    |-------------------------+---------------+-----------+------------+---+---|
  3660.  
  3661.    | Constant offset from R  | No offset     |  [ ,R]    |  1rr10100  | 3 | 0 |
  3662.  
  3663.    |                         | 5 bit offset  |  [n,R]    |  Defaults to 8 bit |
  3664.  
  3665.    |                         | 8 bit offset  |  [n,R]    |  1rr11000  | 4 | 1 |
  3666.  
  3667.    |                         | 16 bit offset |  [n,R]    |  1rr11001  | 7 | 2 |
  3668.  
  3669.    |-------------------------+---------------+-----------+------------+---+---|
  3670.  
  3671.    | Accumulator offset      | A - Register  |  [A,R]    |  1rr10110  | 4 | 0 |
  3672.  
  3673.    | from R (Twos complement | B - Register  |  [B,R]    |  1rr10101  | 4 | 0 |
  3674.  
  3675.    |*offset)                 | E - Register  |  [E,R]    |  1rr10111  | 1 | 0 |
  3676.  
  3677.    |*                        | F - Register  |  [F,R]    |  1rr11010  | 1 | 0 |
  3678.  
  3679.    |                         | D - Register  |  [D,R]    |  1rr11011  | 4 | 0 |
  3680.  
  3681.    |*                        | W - Register  |  [W,R]    |  1rr11110  | 4 | 0 |
  3682.  
  3683.    |-------------------------+---------------+-----------+------------+---+---|
  3684.  
  3685.    | Auto Increment and      | Increment 2   |  [,R++]   |  1rr10001  | 6 | 0 |
  3686.  
  3687.    | decrement of R          | Decrement 2   |  [,--R]   |  1rr10011  | 6 | 0 |
  3688.  
  3689.    |-------------------------+---------------+-----------+------------+---+---|
  3690.  
  3691.    | Constant offset from PC | 8 bit offset  |  [n,PC]   |  1xx11100  | 4 | 1 |
  3692.  
  3693.    | (Twos complement offset)| 16 bit offset |  [n,PC]   |  1xx11101  | 8 | 2 |
  3694.  
  3695.    |-------------------------+---------------+-----------+------------+---+---|
  3696.  
  3697.    | Extended indirect       | 16 bit address|   [n]     |  10011111  | 5 | 2 |
  3698.  
  3699.    |-------------------------+---------------+-----------+------------+---+---|
  3700.  
  3701.    |*Relative to W           | No Offset     |   [,W]    |  10010000  | 0 | 0 |
  3702.  
  3703.    |*(Twos complement offset)| 16 bit offset |   [n,W]   |  10110000  | 5 | 2 |
  3704.  
  3705.    |* AutoIncrement W        | Increment 2   |   [,W++]  |  11010000  | 3 | 0 |
  3706.  
  3707.    |* AutoDecrement W        | Decrement 2   |   [,--W]  |  11110000  | 3 | 0 |
  3708.  
  3709.     -------------------------------------------------------------------------- 
  3710.  
  3711.    
  3712.  
  3713.         rr = X, Y, U or S      X = 00  Y = 01
  3714.  
  3715.         xx = Doesn't care      U = 10  S = 11
  3716.  
  3717.    
  3718.  
  3719.    
  3720.  
  3721.     + and +   indicates the additional number of cycles and bytes for the
  3722.  
  3723.     ~     #   particular variation
  3724.  
  3725.  
  3726.  
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733.  
  3734.  
  3735.    Mnemonics Reference Table                                            Page 27
  3736.  
  3737.    
  3738.  
  3739.    
  3740.  
  3741.    
  3742.  
  3743.                               Register Descriptions
  3744.  
  3745.    
  3746.  
  3747.      _________________________________________________________________________
  3748.  
  3749.     | X  - 16 bit index register                                              |
  3750.  
  3751.     | Y  - 16 bit index register                                              |
  3752.  
  3753.     | U  - 16 bit user-stack pointer                                          |
  3754.  
  3755.     | S  - 16 bit system-stack pointer                                        |
  3756.  
  3757.     | PC - 16 bit program counter register                                    |
  3758.  
  3759.     |*V  - 16 bit variable register (inter-register instructions only)        |
  3760.  
  3761.     |*0  - 8/16 bit zero register   (inter-register instructions only)        |
  3762.  
  3763.     |-------------------------------------------------------------------------|
  3764.  
  3765.     | A  - 8 bit accumulator             |                                    |
  3766.  
  3767.     | B  - 8 bit accumulator             |    Accumulator structure map:      |
  3768.  
  3769.     |*E  - 8 bit accumulator             |      ----- ----- ----- -----       |
  3770.  
  3771.     |*F  - 8 bit accumulator             |     |  A  |  B  |  E  |  F  |      |
  3772.  
  3773.     | D  - 16 bit concatenated reg.(A B) |      -----------+-----------       |
  3774.  
  3775.     |*W  - 16 bit concatenated reg.(E F) |     |     D     |     W     |      |
  3776.  
  3777.     |*Q  - 32 bit concatenated reg.(D W) |      -----------------------       |
  3778.  
  3779.     |------------------------------------|     |           Q           |      |
  3780.  
  3781.     |*MD - 8 bit mode/error register     |      -----------------------       |
  3782.  
  3783.     | CC - 8 bit condition code register | bit  31   24    15    8     0      |
  3784.  
  3785.     | DP - 8 bit direct page register    |                                    |
  3786.  
  3787.      -------------------------------------------------------------------------
  3788.  
  3789.       * Indicates new registers in 6309 CPU.
  3790.  
  3791.    
  3792.  
  3793.    
  3794.  
  3795.    
  3796.  
  3797.                              Push/Pull Order of Stack
  3798.  
  3799.    
  3800.  
  3801.    
  3802.  
  3803.              Pull order                  Push/Pull Post byte
  3804.  
  3805.                  |                 ------------------------------- 
  3806.  
  3807.                 \|/               | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  3808.  
  3809.                  '                 -------------------------------
  3810.  
  3811.                  CC                 |   |   |   |   |   |   |   |____CCr
  3812.  
  3813.                  A\                 |   |   |   |   |   |   |________A
  3814.  
  3815.                  B/ D\ Q            |   |   |   |   |   |____________B
  3816.  
  3817.                  E\ W/              |   |   |   |   |________________DPr
  3818.  
  3819.                  F/                 |   |   |   |____________________X
  3820.  
  3821.                  DP                 |   |   |________________________Y
  3822.  
  3823.                 X-hi                |   |____________________________S/U
  3824.  
  3825.                 X-low               |________________________________PC
  3826.  
  3827.                 Y-hi       
  3828.  
  3829.                 Y-low    
  3830.  
  3831.                 U/S-hi                                                
  3832.  
  3833.                 U/S-low
  3834.  
  3835.                 PC-hi
  3836.  
  3837.                 PC-low
  3838.  
  3839.                   .
  3840.  
  3841.                  /|\
  3842.  
  3843.                   |
  3844.  
  3845.               Push order
  3846.  
  3847.    
  3848.  
  3849.                                        Condition Code Register
  3850.  
  3851.                                   ------------------------------- 
  3852.  
  3853.                                  | E | F | H | I | N | Z | V | C |
  3854.  
  3855.                                   -------------------------------
  3856.  
  3857.                     Entire flag____|   |   |   |   |   |   |   |____Carry flag
  3858.  
  3859.                       FIRQ mask________|   |   |   |   |   |________Overflow
  3860.  
  3861.                      Half carry____________|   |   |   |____________Zero
  3862.  
  3863.                        IRQ mask________________|   |________________Negative
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.        The PSH(s,u) and PUL(s,u) instructions require one additional
  3870.  
  3871.        cycle for each byte pushed or pulled.
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.   Alan DeKok's addition to the above...
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.   The new features of the 6309 are closely related to the changes in
  3888.  
  3889. design from the 6809.  The 6309 is micro-coded, which allowed the
  3890.  
  3891. designers to easily add new instrctions and registers.  It also has a
  3892.  
  3893. one byte pre-fetch 'cache', which enables the 6309 to execute
  3894.  
  3895. instructions like 'lsld' (2-bytes) in one clock cycle.  The design of
  3896.  
  3897. the 6809 series allows them to read one byte per clock cycle MAXIMUM, but there
  3898.  
  3899. is a catch.  Most instructions take more clock cycles to execute than
  3900.  
  3901. bytes they contain.  While the 6309 is performing internal
  3902.  
  3903. calculations, the 'cache' hardware goes and reads the next instruction
  3904.  
  3905. byte, leaving only one additional byte to be read to execute the 'lsld'.
  3906.  
  3907. Reading this byte requires one clock cycle, and then the instruction
  3908.  
  3909. is executed while the CPU fetches the next instruction.
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.   The 6309 has a true 16-bit internal design.
  3916.  
  3917. e.g. the EXG instruction operates as
  3918.  
  3919. 6809: read op-code
  3920.  
  3921.       read inter-register byte (r0,r1)
  3922.  
  3923.         r0_high -> temp_high
  3924.  
  3925.         r0_low  -> temp_low
  3926.  
  3927.         r1_high -> r0_high
  3928.  
  3929.         r1_low  -> r0_low
  3930.  
  3931.         r0_high -> r1_high
  3932.  
  3933.         r0_low  -> r1_low
  3934.  
  3935.  
  3936.  
  3937.   8 actions, 8 clock cycles.
  3938.  
  3939.  
  3940.  
  3941. 6809: read op-code
  3942.  
  3943.       read inter-register byte (r0,r1)
  3944.  
  3945.         r0 -> temp
  3946.  
  3947.         r1 -> r0
  3948.  
  3949.         r0 -> r1
  3950.  
  3951.  
  3952.  
  3953.   5 actions, 5 clock cycles.
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959.   The 6309 native mode instruction execution clock lengths can be mostly accounted
  3960.  
  3961. for by accounting for the pre-fetch cache and the internal 16-bit ALU.
  3962.  
  3963.  
  3964.  
  3965.   TFM has some caveats. TFM r1-,r2- should NOT be used to setup the
  3966.  
  3967. stack, as it's a POST-decrement instruction, not PRE-decrement.
  3968.  
  3969.  
  3970.  
  3971.   Watch out for TFM r1,r2+ if you're reading from a peripherial.
  3972.  
  3973. Why?  The TFM uses the 1-byte 'cache' as an internal buffer for the
  3974.  
  3975. byte that it's currently moving.  The TFM instruction is interruptible
  3976.  
  3977. (the only instruction that is), and code execution during the
  3978.  
  3979. interrupt will destroy the byte in the cache.
  3980.  
  3981.  
  3982.  
  3983.    On returning from the interrupt, the TFM will read the FROM
  3984.  
  3985. address again to get the lost byte, which may be the wrong one.  The
  3986.  
  3987. visible effect of this is that block moves sometimes have a byte
  3988.  
  3989. missing from the middle, and everything after that byte shifted down
  3990.  
  3991. one address.
  3992.  
  3993.  
  3994.  
  3995.   There are a few ways of checking of you're running on a 6309 or a 6809,
  3996.  
  3997. these include:
  3998.  
  3999.  
  4000.  
  4001. :
  4002.  
  4003.  tfr 0,d  -> illegal registers are '$FFFF' on a 6809, $0000 on a 6309
  4004.  
  4005.  tstb     ->
  4006.  
  4007.  beq  Is6309
  4008.  
  4009. :
  4010.  
  4011.  
  4012.  
  4013. :
  4014.  
  4015.  ldb #$ff
  4016.  
  4017.  clrd      -> executes as a $10 (ignored) $4F (clra) on a 6809
  4018.  
  4019.  tstb
  4020.  
  4021.  beq  Is6309
  4022.  
  4023. :
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.   It's a bit harder to check if the system is running in native mode or not.
  4030.  
  4031. Most of the time it won't be necessary, but the only realy method is to do:
  4032.  
  4033. :
  4034.  
  4035.  pshs cc,d,dp,x,y,u  SAVE ALL REGISTERS AS CHECKING WILL TRASH THEM
  4036.  
  4037.  leax Is6309,pc
  4038.  
  4039.  pshs  x               save address of 6309 flag code
  4040.  
  4041.  leax Is6809,pc
  4042.  
  4043.  pshs  x               save address of 6809 flag code
  4044.  
  4045.  pshs  cc,d,dp,x,y,u   save registers
  4046.  
  4047.  orcc #ENTIRE          set to ALL registers on-stack
  4048.  
  4049.  rti                   go to 6309/6809 code
  4050.  
  4051.  
  4052.  
  4053. Is6309 clr <Flag   it's a 6309
  4054.  
  4055.  bra Continue
  4056.  
  4057.  
  4058.  
  4059. Is6809 leas 2,s   account for 6309 PC
  4060.  
  4061.   lda #$FF
  4062.  
  4063.   sta <Flag       
  4064.  
  4065.  
  4066.  
  4067. Continue puls cc,d,dp,x,y,u  restore all registers
  4068.  
  4069. [etc...]
  4070.  
  4071. :
  4072.  
  4073.  
  4074.  
  4075.   Note that the checks for both 6809/6309 and native/emulation will execute
  4076.  
  4077. perfectly on both 6809 and 6309 systems, and will give the correct results
  4078.  
  4079. in all cases.
  4080.  
  4081.  
  4082.  
  4083.   In order to check for 6309 FIRQ operation (i.e. all registers saved),
  4084.  
  4085. you'd have to do something like
  4086.  
  4087.  
  4088.  
  4089. [ enable FIRQ's ]
  4090.  
  4091. :
  4092.  
  4093.  leau -3,s       where stack will be if only CC and PC are saved
  4094.  
  4095.  stu <test       remember the pointer
  4096.  
  4097. loop tst <check  FIRQ happened yet?
  4098.  
  4099.   bne loop       no, wait for an FIRQ
  4100.  
  4101. [...]
  4102.  
  4103.  
  4104.  
  4105. FIRQ cmps <test  only CC, PC saved?
  4106.  
  4107.  bne  Is6309F    no, it's 6309 FIRQ mode
  4108.  
  4109.  clr <F.Flag     set to 6809 IRQ mode
  4110.  
  4111.  bra continue
  4112.  
  4113.  
  4114.  
  4115. Is6309F lda #$FF don't bother saving A as 6309 FIRQ mode already saves it
  4116.  
  4117.  sta <F.Flag     set the FIRQ flag
  4118.  
  4119.  
  4120.  
  4121. continue clr <check         we've done an FIRQ, so we can exit
  4122.  
  4123.  rti
  4124.  
  4125. :
  4126.  
  4127.  
  4128.  
  4129.   The W,E, and F registers do not have the full immediate addressing
  4130.  
  4131. mode capabilities that D,A, and B do.  SBC, AND, BIT, EOR, ADC, OR
  4132.  
  4133. with E,F,W are available only in register-register mode.  LSR, ROR,
  4134.  
  4135. ROL are available for W but not for E,F.  ASR, ASL, LSL, NEG do not
  4136.  
  4137. exist at all for W,E,F.
  4138.  
  4139.  
  4140.  
  4141.   ASL can sort of be implemented by doing a ADDR R1,R1.  (see later)
  4142.  
  4143.  
  4144.  
  4145.   You can also do things like 'leax u,x' by doing a ADDR u,x.
  4146.  
  4147.  
  4148.  
  4149.   Sadly, many of the new 6309 instructions are useless in everyday
  4150.  
  4151. life.  The bit manipulation instructions are interesting, but slow and
  4152.  
  4153. mostly of limited value.  Same with much of the DIV/MUL higher math.  The
  4154.  
  4155. AIM, etc. are very useful, though.
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.   Programmer recommendations
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.   Try to stay away from using the W register.  It's got another pre-byte
  4168.  
  4169. (like instructions using 'Y' or 'S'), and is correspondingly larger
  4170.  
  4171. and slower.  E and F are best used mainly instead of pushing loop counters onto
  4172.  
  4173. the stack when you're running out of registers.
  4174.  
  4175.  
  4176.  
  4177.   The V register is mostly pointless.  If you're doing context
  4178.  
  4179. switches, it isn't saved across interrupts unless you do so manually.
  4180.  
  4181. Shuffling data back and forth between other registers and V is a lot
  4182.  
  4183. of trouble.  Any math, etc. involving V is generally done much faster
  4184.  
  4185. using a real register.  After going through 1meg+ of 6309 assembly code
  4186.  
  4187. which is everything from an OS kernel to serial drivers to graphics
  4188.  
  4189. drivers, I've never seen a use for the V register.
  4190.  
  4191.  
  4192.  
  4193.   Of course, you could put '$FFFF' into V, and have registers for
  4194.  
  4195. reg-reg addressing modes with bits all zero (0), and another with bits all
  4196.  
  4197. 1 (V).
  4198.  
  4199.  
  4200.  
  4201.   Pseudo-nops: tfr 0,0; exg 0,0
  4202.  
  4203.  
  4204.  
  4205.   Extremely small software timing loops with large delays may be generated
  4206.  
  4207. by performing a 'LDW',and then 'TFM r0,r0+'.
  4208.  
  4209.  
  4210.  
  4211.   Many programs can be executed in 6309 native mode by patching only
  4212.  
  4213. the IRQ code, if it accesses the stack.  A 'LDMD #$01' may be
  4214.  
  4215. performed as soon as your program starts executing, and will see an
  4216.  
  4217. immediate 10-15% speed increase.  Software timing loops must be
  4218.  
  4219. checked!
  4220.  
  4221.  
  4222.  
  4223.  Opcodes Hitachi left out of the 6309: and some round-about equivalents
  4224.  
  4225.  
  4226.  
  4227. E/F/W
  4228.  
  4229. -----
  4230.  
  4231. ADCr:  ADCR 0,r
  4232.  
  4233. ANDr:  ; ANDR V,r
  4234.  
  4235. ASLr/LSLr:  ADDR r,r
  4236.  
  4237. ASRr
  4238.  
  4239. BITr
  4240.  
  4241. EORr
  4242.  
  4243. NEGr:  COMr INCr
  4244.  
  4245. ORr
  4246.  
  4247. SBCr:  SBCR Z,r
  4248.  
  4249.  
  4250.  
  4251.  
  4252.  
  4253. E/F
  4254.  
  4255. ---
  4256.  
  4257. LSRr
  4258.  
  4259. ROLr: ADCR r,r
  4260.  
  4261. RORr
  4262.  
  4263.  
  4264.  
  4265. Q (Long word =W1:W0)
  4266.  
  4267. --------------------
  4268.  
  4269. ADDQ: ADDW W0; ADCD W1
  4270.  
  4271. SUBQ: SUBW W0; SBCD W1
  4272.  
  4273. ASLQ: ASLW   ; ROLD
  4274.  
  4275. ROLQ: ROLW   ; ROLD
  4276.  
  4277. LSRQ: LSRD   ; RORW
  4278.  
  4279. RORQ: RORD   ; RORW
  4280.  
  4281. ASRQ: ASRD   ; RORW
  4282.  
  4283. COMQ: COMD   ; COMW
  4284.  
  4285. NEGQ: COMD   ; COMW ; SBCR 0,D
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.