A MEMO ON THE SECRET FEATURES OF 6309

From: kakugawa@csl.hiroshima-u.ac.jp (Hirotsugu Kakugawa)
Newsgroups: comp.sys.m6809
Subject: A Memo on the Secret Features of 6309
Date: 23 Feb 92 01:10:06 GMT
Organization: Computer Systems Lab., Hiroshima Univ., Japan.

Dear 6309 users

   I finished my exam and writing the memo on the seacret features of
6309.  In the memo, many fearutes of 6309 are reported but I do not
know ALL of them.  In addition to that, my 6309 computer is packed and
kept in my hometown: I cannot tried unclear points.

[
  NOTE:
   You may have questions about the features written in this meno.
   Then, please post your question to comp.sys.m6809; do not send mails
   to me.  I may not answer your questions since I cannot try the
   features now, as I write above.  Your questions may be answered by
   people who has 6309 based computer.
]

The meno is not complete.
Please try and post the results to comp.sys.m6809!


  ===*===*===*===*===*===*===*===*===*===*===*===*===*===*===*===



              A MEMO ON THE SECRET FEATURES OF 6309


      by Hirotsugu Kakugawa,  (kakugawa@csl.hiroshima-u.ac.jp)
      Computer Systems Lab., Information Engineering Course,
      Graduate School of Engineering, Hiroshima Univ., Japan



1. ** INTRODUCTION **

The CPU 6309 by HITACHI has secret features which is not written in
its manual.  The purpose of this memo is to introduce them. 
The features was originally reported in a magazine,
Oh!FM (1988 Apr.), which was written in Japanese.  I did not tried all
of the features reported in the article, but I report the features as
far as I know.

HITACHI says in the manual of 6309 that 6309 is compatible with 6809,
but some OS-9 hackers found that it has secret features.

It has following features:
 1. More registers (additional two 8 bit accumulators, 8 bit
     register, and a 16 bit register),
 2. Two modes (6809 emulation mode and native mode),
 3. Reduced execution cycles in native mode,
 4. More instructions (16 bit x 16 bit multiplication, 32 bit / 16 bit
    division, inter-registers operation, block transfer, bit
    manipulating operation which is compatible with 6801 has, etc)
 5. Error trap by illegal instruction, zero division.

I substituted 6309 for 6809 in my personal computer, and I changed
OS9/6809 Level II such that the 6309 executes in native mode.
I had to change the interrupt handling routine in the kernel.
I implemented illegal instruction trap; I was really happy because
most bugs are caught by trap handler.

In section 2, new registers are explained.  In section 3, two modes of
6309 is explained.  In section 4, trapping features of the 6309 is
described.  In section 5, new instructions are explained.  In section 6,
the instruction tables of the 6309 is shown.



2. ** NEW REGISTERS **

The 6309 has some additional registers that 6809 does not. 

  1. The E register, the F register
     These are 8 bit accumulators.  Like the D register is a pair of
     the A register and the B register, these two registers can be
     used as a 16 bit accumulator. The pair of the E and the F
     registers is called the W register.
     In addition to that, pair of two 16 bit registers, the D register
     and the W register, can be used as a 32 bit accumulator called the
     Q register.

  2. The V register
     This a 16 bit register can be used only by TFR, inter-register
     operation, etc.  But even if the chip is reseted, contents of
     this register does not change.  Some people  may use this
     register to keep constant value (V for value).

  3. The MD register
     This is a 8 bit register to keep the mode and status of the chip.
     The meaning of each bit is as follow.

     Read value
        bit 7  ---  1 is set if zero division happen.
        bit 6  ---  1 is set if illegal instruction is fetched.

     Write value
        bit 1  ---  The mode for FIRQ interrupt.
                    0 -> the the action for FIRQ is the same as that
                         of 6809.
                    1 -> the the action for FIRQ is the same as IRQ.
        bit 0  ---  The execution mode of 6309.
                    0 -> the emulation mode.
                    1 -> the native mode.

     (When the chip is reseted, all bits are 0.)



3. ** TWO MODES OF THE 6309 **

The 6309 has two modes, emulation mode and native mode, as described
in the previous section.  When the chip is reseted, the initial mode
of 6309 is the emulation mode.

  When the 6309 is in the emulation mode, the chip emulates the action
of 6809.  But we can use extended registers and extended operations in
this mode.  The 6309 executes instructions in the same cycles as 6809
does. 
   When the 6309 is in the native mode, it executes instructions in
less cycles. And when the chip is interrupted (IRQ, for example),
it pushes extended registers (PC, U, Y, X, DP, W, D, CC, in this
order).  If you want to use the 6309, you must rewrite interrupt
handling routine (for example, the entry of system call of OS9).



4. ** TRAPPING **

If the following two events happen, the trap is caused.

  1. A illegal instruction is fetched.
  2. A number is divided by zero.

The action of the 6309 when a trap is caused is :

  1. Pushs the registers on the system stack.
     (In the emulation mode, PC, U, Y, X, DP, B, A, CC, in this order
     and in the the native mode, PC, U, Y, X, DP, W, B, A, CC in this
     order)
  2. Reads the trap vector address ($FFF0) and jumps to the vector.
     (Note that $FFF0 was reserved by 6809.)

To check the reason of the trap, BITMD instruction is provided. This
instruction is explained in a later section.



5. ** NEW INSTRUCTIONS **

5.1 The Register Addressing Mode
To specify registers in TFR and EXG, the 6809 uses bit pattern of 4 bits.
New registers of the 6309 are specified by bit patterns in TFR and EXG
operations. In addition to that, the bit pattern is also used in
instructions of inter-register operations.  We call this bit pattern
used to specify register "register addressing mode".

Bit patterns for new registres are as follows:

    W  ->  0110,
    V  ->  0111,
    E  ->  1110,
    F  ->  1111.

NOTE: even if the 6309 is in a emulation mode, the action for TFR of 6309
is different from that of the 6809 if new register is specified in
operand.  Some hackers found this fact and they guessed that the 6309
has secret registers. At last, they found many features.

5.2 Inter-Register Operations
Operations of 6809 are operations between register and immediate value
or between register and memory.  Therefore, we had to store value of
register on memory if opetation between two registers is necessary.
  But the 6309 has inter-register operation. Following operations are
provided:
    ADDR r0,r1  (ADD of two registers),
    ADCR r0,r1  (ADC of two registers),
    SUBR r0,r1  (SUB of two registers),
    SBCR r0,r1  (SBC of two registers),
    ANDR r0,r1  (AND of two registers),
    ORR  r0,r1  (OR of two registers),
    EORR r0,r1  (EOR of two registers),
    CMPR r0,r1  (CMP of two registers).
The register addressing mode is used to specify two registers.
(I do not remember exactrlly but the result is stored in r0, the
register of the first operand. Please try and find the behavior of
these instructions.)

5.3 Block Transfer
Block transfer instructions are provided such as Z80 has.
The TFM instruction requires source address and destination address
and block size as its argument.  One or two 16 bit registers (X/Y/U/S)
are used to specify source and destination addresses. Block size to be
transfered is specified by the W register.
Four style is provided:
    TFR r0+,r1+  (transfered in address is increasing order),
    TFR r0-,r1-  (transfered in address is decreasing order),
    TFR r0+,r1   (poured into the same address, I/O port for instance),
    TFR r0,r1+   (read from the same address, I/O port for instance).
I tried this instructions but I do not remember exactly.
Operand registers are pointers of source/destination addresses (,maybe).
Please try and find the behavior of these instructions.

5.4 Multiplication And Division
The 6309 has MULD instruction which performs a 16bit x 16bit multipli-
cation. We can use various addressing modes (immediate, direct, indexed,
extend)  The result is stored in the Q register.
 
  Division instructions are also provided.  The 6309 has two division
instructions: 16bit / 8bit, 32bit / 16bit divisions.
Various addressing modes (immediate, direct, indexed, extend) can be
used. 
(Note:I forget where its result is stored.  I tried these instructions.
I remember that modulo is also computed. The quotient and the modulo
are stored D and W resp., maybe. I'm not sure, sorry.)

5.5 Bit Manipulation / Bit Transfer
The 6309 provides AIM, OIM, EIM, TIM instructions which are compatible
with instructions of the Hitachi 6301 CPU.  Read the manual of the 6301
to understand thses instructions.

Instructions called BAND, BOR, BEOR, BIAND, BIOR, BIEOR, LDBT, STBT
are provided.  Behavior of thses instructions is that a logical
operation is performed for n-th bit of a data in a memory (only direct
mode is allowed) and m-th bit of a register, then the result is stored
in the register. The format of the object is :
   $11, x, (post byte), (operand).
The say that the post byte takes strange format.  I do not understand
these instructions. Sorry, please try. 

5.6 Misc

To change modes ofthe 6309, we have to set the 0th bit of the MD
register.  To do this, the LDMD instruction is provided:
    LDMD #n     (where #n is a immediate n bit data)
When trap is caused, it is necessary to examine the reason of the
trap. The BITMD instruction can be used for this purpose:
    BITMD #n    (where #n is a immediate n bit data)
The contents of the MD register and #n is ANDed, and changes the CC
register (,maybe, I do not remember exactly).
Once this instruction is executed, the 6th and the 7th bit of the
MD register is CLEARED.  Therefore, we can't examine the MD register.

Pushing and poping the W registers on/from stack:
    PSHSW     (Push the W register on the system stack),
    PULSW     (Pop the W register from the system stack),
    PSHUW     (Push the W register on the user stack),
    PULUW     (Pop the W register from the user stack).



6. ** INSTRUCTION TABLES **

In this section, only additional instructions of the 6309 are
shown. 

How to read the following table :
  The first column :    +    ... New instruction of 6309
                     (blank) ... a instruction of 6089/6309,
  --Op--    :  Operational code,
  --Mnem--  :  Mnemonic,
  --Mode--  :  Addressing mode,
  --Cyc--   :  Execution Cycles (Parenthesized value is the value
               in the native mode),
  --Len--   :  Length of the instruction,

6.1 Instructions without pre-byte

  --Op--  --Mnem--  --Mode--    --Cyc--  --Len --
   $00     NEG       DIRECT      6 (5)      2
+  $01     OIM       DIRECT      6          3
+  $02     AIM       DIRECT      6          3
   $03     COM       DIRECT      6 (5)      2
   $04     LSR       DIRECT      6 (5)      2
+  $05     EIM       DIRECT      6          3
   $06     ROR       DIRECT      6 (5)      2
   $07     ASR       DIRECT      6 (5)      2
   $08     ASL/LSL   DIRECT      6 (5)      2
   $09     ROL       DIRECT      6 (5)      2
   $0A     DEC       DIRECT      6 (5)      2
+  $0B     TIM       DIRECT      6          3
   $0C     INC       DIRECT      6 (5)      2
   $0D     TST       DIRECT      6 (4)      2
   $0E     JMP       DIRECT      3 (2)      2
   $0F     CLR       DIRECT      6 (5)      2

   $10     (PREBYTE)
   $11     (PREBYTE)
   $12     NOP       IMP         2 (1)      1
   $13     SYNC      IMP         2 (1)      1
+  $14     SEXW      IMP         4          1
   $16     LBRA      REL         5 (4)      3
   $17     LBSR      REL         9 (7)      3
   $19     DAA       IMP         2 (1)      1
   $1A     ORCC      IMMED       3 (2)      2
   $1C     ANDCC     IMMED       3          2
   $1D     SEX       IMP         2 (1)      1
   $1E     EXG       REGIST      8 (5)      2
   $1F     TFR       REGIST      6 (4)      2
 
   $20     BRA       REL         3          2
   $21     BRN       REL         3          2
   $22     BHI       REL         3          2
   $23     BLS       REL         3          2
   $24     BHS/BCC   REL         3          2
   $25     BLO/BCS   REL         3          2
   $26     BNE       REL         3          2
   $27     BEQ       REL         3          2
   $28     BVC       REL         3          2
   $29     BVS       REL         3          2
   $2A     BPL       REL         3          2
   $2B     BMI       REL         3          2
   $2C     BGE       REL         3          2
   $2D     BLT       REL         3          2
   $2E     BGT       REL         3          2
   $2F     BLE       REL         3          2

   $30     LEAX      REL         4+         2+
   $31     LEAY      REL         4+         2+
   $32     LEAS      REL         4+         2+
   $33     LEAU      REL         4+         2+
   $34     PSHS      REGIST      5+ (4+)    2
   $35     PULS      REGIST      5+ (4+)    2
   $36     PSHU      REGIST      5+ (4+)    2
   $37     PULU      REGIST      5+ (4+)    2
   $39     RTS                   5 (4)      1
   $3A     ABX       IMP         3 (1)      1
   $3B     RTI       IMP         6/15 (17)  1
   $3C     CWAI      IMP         22 (20)    2
   $3D     MUL       IMP         11 (10)    1
   $3F     SWI       IMP         19 (21)    1
 
   $40     NEGA      IMP         2 (1)      1
   $43     COMA      IMP         2 (1)      1
   $44     LSRA      IMP         2 (1)      1
   $46     RORA      IMP         2 (1)      1
   $47     ASRA      IMP         2 (1)      1
   $48     ASLA/LSLA IMP         2 (1)      1
   $49     ROLA      IMP         2 (1)      1
   $4A     DECA      IMP         2 (1)      1
   $4C     INCA      IMP         2 (1)      1
   $4D     TSTA      IMP         2 (1)      1
   $4F     CLRA      IMP         2 (1)      1

   $50     NEGB      IM P        2 (1)      1
   $53     COMB      IMP         2 (1)      1
   $54     LSRB      IMP         2 (1)      1
   $56     RORB      IMP         2 (1)      1
   $57     ASRB      IMP         2 (1)      1
   $58     ASLB/LSLB IMP         2 (1)      1
   $59     ROLB      IMP         2 (1)      1
   $5A     ECB       IMP         2 (1)      1
   $5C     NCB       IMP         2 (1)      1
   $5D     STB       IMP         2 (1)      1
   $5F     LRB       IMP         2 (1)      1

   $60     NEG       INDEXD      6+         2+
+  $61     OIM       INDEXD      7+         3+
+  $62     AIM       INDEXD      7          3+
   $63     COM       INDEXD      6+         2+
   $64     LSR       INDEXD      6+         2+
+  $65     EIM       INDEXD      7+         3+
   $66     ROR       INDEXD      6+         2+
   $67     ASR       INDEXD      6+         2+
   $68     ASL/LSL   INDEXD      6+         2+
   $69     ROL       INDEXD      6+         2+
   $6A     DEC       INDEXD      6+         2+
+  $6B     TIM       INDEXD      7+         3+
   $6C     INC       INDEXD      6+         2+
   $6D     TST       INDEXD      6+ (5+)    2+
   $6E     JMP       INDEXD      3+         2+
   $6F     CLR       INDEXD      6+         2+

   $70     NEG       EXTEND      7 (6)      3
+  $71     OIM       EXTEND      7          4
+  $72     AIM       EXTEND      7          4
   $73     COM       EXTEND      7 (6)      3
   $74     LSR       EXTEND      7 (6)      3
+  $75     EIM       EXTEND      7          4
   $76     ROR       EXTEND      7 (6)      3
   $77     ASR       EXTEND      7 (6)      3
   $78     ASL/LSL   EXTEND      7 (6)      3
   $79     ROL       EXTEND      7 (6)      3
   $7A     DEC       EXTEND      7 (6)      3
+  $7B     TIM       EXTEND      5          4
   $7C     INC       EXTEND      7 (6)      3
   $7D     TST       EXTEND      7 (5)      3
   $7E     JMP       EXTEND      4 (3)      3
   $7F     CLR       EXTEND      7 (6)      3

   $80     SUBA      IMMED       2          2
   $81     CMPA      IMMED       2          2
   $82     SBCA      IMMED       2          2
   $83     SUBD      IMMED       4 (3)      3
   $84     ANDA      IMMED       2          2
   $85     BITA      IMMED       2          2
   $86     LDA       IMMED       2          2
   $88     EORA      IMMED       2          2
   $89     ADCA      IMMED       2          2
   $8A     ORA       IMMED       2          2
   $8B     ADDA      IMMED       2          2
   $8C     CMPX      IMMED       4 (3)      3
   $8D     BSR       IMMED       7 (6)      2
   $8E     LDX       IMMED       3          3

   $90     SUBA      DIRECT      4 (3)      2
   $91     CMPA      DIRECT      4 (3)      2
   $92     SBCA      DIRECT      4 (3)      2
   $93     SUBD      DIRECT      6 (4)      3
   $94     ANDA      DIRECT      4 (3)      2
   $95     BITA      DIRECT      4 (3)      2
   $96     LDA       DIRECT      4 (3)      2
   $97     STA       DIRECT      4 (3)      2
   $98     EORA      DIRECT      4 (3)      2
   $99     ADCA      DIRECT      4 (3)      2
   $9A     ORA       DIRECT      4 (3)      2
   $9B     ADDA      DIRECT      4 (3)      2
   $9C     CMPX      DIRECT      6 (4)      2
   $9D     JSR       DIRECT      7 (6)      2
   $9E     LDX       DIRECT      5 (4)      2
   $9F     STX       DIRECT      5 (4)      2
 
   $A0     SUBA      INDEXD      4+         2+
   $A1     CMPA      INDEXD      4+         2+
   $A2     SBCA      INDEXD      4+         2+
   $A3     SUBD      INDEXD      6+ (5+)    2+
   $A4     ANDA      INDEXD      4+         2+
   $A5     BITA      INDEXD      4+         2+
   $A6     LDA       INDEXD      4+         2+
   $A7     STA       INDEXD      4+         2+
   $A8     EORA      INDEXD      4+         2+
   $A9     ADCA      INDEXD      4+         2+
   $AA     ORA       INDEXD      4+         2+
   $AB     ADDA      INDEXD      4+         2+
   $AC     CMPX      INDEXD      6+ (5+)    2+
   $AD     JSR       INDEXD      7+ (6+)    2+
   $AE     LDX       INDEXD      5+         2+
   $AF     STX       INDEXD      5+         2+
 
   $B0     SUBA      EXTEND      5 (4)      3
   $B1     CMPA      EXTEND      5 (4)      3
   $B2     SBCA      EXTEND      5 (4)      3
   $B3     SUBD      EXTEND      7 (5)      3
   $B4     ANDA      EXTEND      5 (4)      3
   $B5     BITA      EXTEND      5 (4)      3
   $B6     LDA       EXTEND      5 (4)      3
   $B7     STA       EXTEND      5 (4)      3
   $B8     EORA      EXTEND      5 (4)      3
   $B9     ADCA      EXTEND      5 (4)      3
   $BA     ORA       EXTEND      5 (4)      3
   $BB     ADDA      EXTEND      5 (4)      3
   $BC     CMPX      EXTEND      7 (5)      3
   $BD     JSR       EXTEND      8 (7)      3
   $BE     LDX       EXTEND      6 (5)      3
   $BF     STX       EXTEND      6 (5)      3
 
   $C0     SUBB      IMMED       2          2
   $C1     CMPB      IMMED       2          2
   $C2     SBCB      IMMED       2          2
   $C3     ADDD      IMMED       4 (3)      3
   $C4     ANDB      IMMED       2          2
   $C5     BITB      IMMED       2          2
   $C6     LDB       IMMED       2          2
   $C8     EORB      IMMED       2          2
   $C9     ADCB      IMMED       2          2
   $CA     ORB       IMMED       2          2
   $CB     ADDB      IMMED       2          2
   $CC     LDD       IMMED       3          3
+  $CD     LDQ       IMMED       5          5
   $CE     LDU       IMMED       3          3

   $D0     SUBB      DIRECT      4 (3)      2
   $D1     CMPB      DIRECT      4 (3)      2
   $D2     SBCB      DIRECT      4 (3)      2
   $D3     ADDD      DIRECT      6 (4)      3
   $D4     ANDB      DIRECT      4 (3)      2
   $D5     BITB      DIRECT      4 (3)      2
   $D6     LDB       DIRECT      4 (3)      2
   $D7     STB       DIRECT      4 (3)      2
   $D8     EORB      DIRECT      4 (3)      2
   $D9     ADCB      DIRECT      4 (3)      2
   $DA     ORB       DIRECT      4 (3)      2
   $DB     ADDB      DIRECT      4 (3)      2
   $DC     LDD       DIRECT      5 (4)      2
   $DD     STD       DIRECT      5 (4)      2
   $DE     LDU       DIRECT      5 (4)      2
   $DF     STU       DIRECT      5 (4)      2

   $E0     SUBB      INDEXD      4+         2+
   $E1     CMPB      INDEXD      4+         2+
   $E2     SBCB      INDEXD      4+         2+
   $E3     ADDD      INDEXD      6+ (5+)    2+
   $E4     ANDB      INDEXD      4+         2+
   $E5     BITB      INDEXD      4+         2+
   $E6     LDB       INDEXD      4+         2+
   $E7     STB       INDEXD      4+         2+
   $E8     EORB      INDEXD      4+         2+
   $E9     ADCB      INDEXD      4+         2+
   $EA     ORB       INDEXD      4+         2+
   $EB     ADDB      INDEXD      4+         2+
   $EC     LDD       INDEXD      5+         2+
   $ED     STD       INDEXD      5+         2+
   $EE     LDU       INDEXD      5+         2+
   $EF     STU       INDEXD      5+         2+

   $F0     SUBB      EXTEND      5 (4)      3
   $F1     CMPB      EXTEND      5 (4)      3
   $F2     SBCB      EXTEND      5 (4)      3
   $F3     ADDD      EXTEND      7 (5)      3
   $F4     ANDB      EXTEND      5 (4)      3
   $F5     BITB      EXTEND      5 (4)      3
   $F6     LDB       EXTEND      5 (4)      3
   $F7     STB       EXTEND      5 (4)      3
   $F8     EORB      EXTEND      5 (4)      3
   $F9     ADCB      EXTEND      5 (4)      3
   $FA     ORB       EXTEND      5 (4)      3
   $FB     ADDB      EXTEND      5 (4)      3
   $FC     LDD       EXTEND      6 (5)      3
   $FD     STD       EXTEND      6 (5)      3
   $FE     LDU       EXTEND      6 (5)      3
   $FF     STU       EXTEND      6 (5)      3



6.2 Instructions whose pre-byte is $10

  --Op--  --Mnem--  --Mode--    --Cyc--  --Len --
   $21     LBRN      REL         5          4
   $22     LBHI      REL         5/6 (5)    4
   $23     LBLS      REL         5/6 (5)    4
   $24     LBHS/LBCC REL         5/6 (5)    4
   $25     LBLO/LBCS REL         5/6 (5)    4
   $26     LBNE      REL         5/6 (5)    4
   $27     LBEQ      REL         5/6 (5)    4
   $28     LBVC      REL         5/6 (5)    4
   $29     LBVS      REL         5/6 (5)    4
   $2A     LBPL      REL         5/6 (5)    4
   $2B     LBMI      REL         5/6 (5)    4
   $2C     LBGE      REL         5/6 (5)    4
   $2D     LBLT      REL         5/6 (5)    4
   $2E     LBGT      REL         5/6 (5)    4
   $2F     LBLE      REL         5/6 (5)    4

+  $30     ADDR      REGIST      4          3
+  $31     ADCR      REGIST      4          3
+  $32     SUBR      REGIST      4          3
+  $33     SBCR      REGIST      4          3
+  $34     ANDR      REGIST      4          3
+  $35     ORR       REGIST      4          3
+  $36     EORR      REGIST      4          3
+  $37     CMPR      REGIST      4          3
+  $38     PSHSW     IMP         6          2
+  $39     PULSW     IMP         6          2
+  $3A     PSHUW     IMP         6          2
+  $3B     PULUW     IMP         6          2
   $3F     SWI2      IMP         20 (22)    2

+  $40     NEGD      IMP         3 (2)      2
+  $43     COMD      IMP         3 (2)      2
+  $44     LSRD      IMP         3 (2)      2
+  $46     RORD      IMP         3 (2)      2
+  $47     ASRD      IMP         3 (2)      2
+  $48     ASLD      IMP         3 (2)      2
+  $49     ROLD      IMP         3 (2)      2
+  $4A     DECD      IMP         3 (2)      2
+  $4C     INCD      IMP         3 (2)      2
+  $4D     TSTD      IMP         3 (2)      2
+  $4F     CLRD      IMP         3 (2)      2

+  $53     COMW      IMP         3 (2)      2
+  $54     LSRW      IMP         3 (2)      2
+  $56     RORW      IMP         3 (2)      2
+  $59     ROLW      IMP         3 (2)      2
+  $5A     DECW      IMP         3 (2)      2
+  $5C     INCW      IMP         3 (2)      2
+  $5D     TSTW      IMP         3 (2)      2
+  $5F     CLRW      IMP         3 (2)      2

+  $80     SUBW      IMMED       5 (4)      4
+  $81     CMPW      IMMED       5 (4)      4
+  $82     SBCD      IMMED       5 (4)      4
   $83     CMPD      IMMED       5 (4)      4
+  $84     ANDD      IMMED       5 (4)      4
+  $85     BITD      IMMED       5 (4)      4
+  $86     LDW       IMMED       4          4
+  $88     EORD      IMMED       5 (4)      4
+  $89     ADCD      IMMED       5 (4)      4
+  $8A     ORD       IMMED       5 (4)      4
+  $8B     ADDW      IMMED       5 (4)      4
   $8C     CMPY      IMMED       5 (4)      4
   $8E     LDY       IMMED       4          4

+  $90     SUBW      DIRECT      7 (5)      3
+  $91     CMPW      DIRECT      7 (5)      3
+  $92     SBCD      DIRECT      7 (5)      3
   $93     CMPD      DIRECT      7 (5)      3
+  $94     ANDD      DIRECT      7 (5)      3
+  $95     BITD      DIRECT      7 (5)      3
+  $96     LDW       DIRECT      6 (5)      3
+  $97     STW       DIRECT      6 (5)      3
+  $98     EORD      DIRECT      7 (5)      3
+  $99     ADCD      DIRECT      7 (5)      3
+  $9A     ORD       DIRECT      7 (5)      3
+  $9B     ADDW      DIRECT      7 (5)      3
   $9C     CMPY      DIRECT      7 (5)      3
   $9E     LDY       DIRECT      6 (5)      3
   $9F     STY       DIRECT      6 (5)      3

+  $A0     SUBW      INDEXD      7+ (6+)    3+
+  $A1     CMPW      INDEXD      7+ (6+)    3+
+  $A2     SBCD      INDEXD      7+ (6+)    3+
   $A3     CMPD      INDEXD      7+ (6+)    3+
+  $A4     ANDD      INDEXD      7+ (6+)    3+
+  $A5     BITD      INDEXD      7+ (6+)    3+
+  $A6     LDW       INDEXD      6+         3+
+  $A7     STW       INDEXD      6+         3+
+  $A8     EORD      INDEXD      7+ (6+)    3+
+  $A9     ADCD      INDEXD      7+ (6+)    3+
+  $AA     ORD       INDEXD      7+ (6+)    3+
+  $AB     ADDW      INDEXD      7+ (6+)    3+
   $AC     CMPY      INDEXD      7+ (6+)    3+
   $AE     LDY       INDEXD      6+         3+
   $AF     STY       INDEXD      6+         3+

+  $B0     SUBW      EXTEND      8 (6)      4
+  $B1     CMPW      EXTEND      8 (6)      4
+  $B2     SBCD      EXTEND      8 (6)      4
   $B3     CMPD      EXTEND      8 (6)      4
+  $B4     ANDD      EXTEND      8 (6)      4
+  $B5     BITD      EXTEND      8 (6)      4
+  $B6     LDW       EXTEND      7 (6)      4
+  $B7     STW       EXTEND      7 (6)      4
+  $B8     EORD      EXTEND      8 (6)      4
+  $B9     ADCD      EXTEND      8 (6)      4
+  $BA     ORD       EXTEND      8 (6)      4
+  $BB     ADDW      EXTEND      8 (6)      4
   $BC     CMPY      EXTEND      8 (6)      4
   $BE     LDY       EXTEND      7 (6)      4
   $BF     STY       EXTEND      7 (6)      4

   $CE     LDS       IMMED       4          4

+  $DC     LDQ       DIRECT      8 (7)      3
+  $DD     STQ       DIRECT      8 (7)      3
   $DE     LDS       DIRECT      6 (5)      3
   $DF     STS       DIRECT      6 (5)      3

+  $EC     LDQ       INDEXD      8+         3+
+  $ED     STQ       INDEXD      8+         3+
   $EE     LDS       INDEXD      6+         3+
   $EF     STS       INDEXD      6+         3+

+  $FC     LDQ       EXTEND      9 (8)      4
+  $FD     STQ       EXTEND      9 (8)      4
   $FE     LDS       EXTEND      7 (6)      4
   $FF     STS       EXTEND      7 (6)      4

6.3 Instructions whose pre-byte is $11

  --Op--  --Mnem--  --Mode--    --Cyc--  --Len --
+  $30     BAND                 7 (6)       4
+  $31     BIAND                7 (6)       4
+  $32     BOR                  7 (6)       4
+  $33     BIOR                 7 (6)       4
+  $34     NEOR                 7 (6)       4
+  $35     BIEOR                7 (6)       4
+  $36     LDBT                 7 (6)       4
+  $37     STBT                 8 (7)       4
+  $38     TFR (r1+,r2+)        6+3n        3
+  $39     TFR (r1-,r2-)        6+3n        3
+  $3A     TFR (r1+,r)          6+3n        3
+  $3B     TFR (r1,r2+)         6+3n        3
+  $3C     BITMD    IMMED       4           3
+  $3D     LDMD     IMMED       5           3
   $3F     SWI2     IMP         20 (22)     2

+  $43     COME      IMP        3 (2)       2
+  $4A     DECE      IMP        3 (2)       2
+  $4C     INCE      IMP        3 (2)       2
+  $4D     TSTE      IMP        3 (2)       2
+  $4F     CLRE      IMP        3 (2)       2

+  $53     COMF      IMP        3 (2)       2
+  $5A     DECF      IMP        3 (2)       2
+  $5C     INCF      IMP        3 (2)       2
+  $5D     TSTF      IMP        3 (2)       2
+  $5F     CLRF      IMP        3 (2)       2

+  $80     SUBE      IMMED      3           3
+  $81     CMPE      IMMED      3           3
   $83     CMPU      IMMED      5 (4)       4
+  $86     LDE       IMMED      3           3
+  $8B     ADDE      IMMED      3           3
   $8C     CMPS      IMMED      5 (4)       4
+  $8D     DIVD      IMMED      25          3
+  $8E     DIVQ      IMMED      34          4
+  $8F     MULD      IMMED      28          4

+  $90     SUBE      DIRECT     5 (4)       3
+  $91     CMPE      DIRECT     5 (4)       3
   $93     CMPU      DIRECT     7 (5)       3
+  $96     LDE       DIRECT     5 (4)       3
+  $97     STE       DIRECT     5 (4)       3
+  $9B     ADDE      DIRECT     5 (4)       3
   $9C     CMPS      DIRECT     7 (5)       3
+  $9D     DIVD      DIRECT     27 (26)     3
+  $9E     DIVQ      DIRECT     36 (35)     3
+  $9F     MULD      DIRECT     30 (29)     3

+  $A0     SUBE      INDEXD     5+          3+
+  $A1     CMPE      INDEXD     5+          3+
   $A3     CMPU      INDEXD     7+ (6+)     3+
+  $A6     LDE       INDEXD     5+          3+
+  $A7     STE       INDEXD     5+          3+
+  $AB     ADDE      INDEXD     5+          3+
   $AC     CMPS      INDEXD     7+ (6+)     3+
+  $AD     DIVD      INDEXD     27+         3+
+  $AE     DIVQ      INDEXD     36+         3+
+  $AF     MULD      INDEXD     30+         3+

+  $B0     SUBE      EXTEND     6 (5)       4
+  $B1     CMPE      EXTEND     6 (5)       4
   $B3     CMPU      EXTEND     8 (6)       4
+  $B6     LDE       EXTEND     6 (5)       4
+  $B7     STE       EXTEND     6 (5)       4
+  $BB     ADDE      EXTEND     6 (5)       4
   $BC     CMPS      EXTEND     8 (6)       4
+  $BD     DIVD      EXTEND     28 (27)     4
+  $BE     DIVQ      EXTEND     37 (36)     4
+  $BF     MULD      EXTEND     31 (30)     4

+  $C0     SUBF      IMMED      3           3
+  $C1     CMPF      IMMED      3           3
+  $C6     LDF       IMMED      3           3
+  $CB     ADDF      IMMED      3           3

+  $D0     SUBF      DIRECT     5 (4)       3
+  $D1     CMPF      DIRECT     5 (4)       3
+  $D6     LDF       DIRECT     5 (4)       3
+  $D7     STF       DIRECT     5 (4)       3
+  $DB     ADDF      DIRECT     5 (4)       3

+  $E0     SUBF      INDEXD     5+          3+
+  $E1     CMPF      INDEXD     5+          3+
+  $E6     LDF       INDEXD     5+          3+
+  $E7     STF       INDEXD     5+          3+
+  $EB     ADDF      INDEXD     5+          3+

+  $F0     SUBF      EXTEND     6 (5)       4
+  $F1     CMPF      EXTEND     6 (5)       4
+  $F6     LDF       EXTEND     6 (5)       4
+  $F7     STF       EXTEND     6 (5)       4
+  $FB     ADDF      EXTEND     6 (5)       4

<EOF>

  ===*===*===*===*===*===*===*===*===*===*===*===*===*===*===*===

--
Hirotsugu Kakugawa 
Computer Systems Lab., Information Engineering Course,
Graduate School of Engineering, Hiroshima Univ., Japan

Comments

Popular posts from this blog

BOTTOM LIVE script

Evidence supporting quantum information processing in animals

ARMIES OF CHAOS