6803

  • September 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 6803 as PDF for free.

More details

  • Words: 1,473
  • Pages: 5
---------------------------------------------------------------| | | | | Motorola | | | | 666 88888 000 33333 | | 6 8 8 0 0 3 3 | | 6 8 8 0 0 0 3 | | 666666 88888 0 0 0 33333 | | 6 6 8 8 0 0 0 3 | | 6 6 8 8 0 0 3 3 | | 66666 88888 000 33333 | | | | 6803/6803NR Single-Chip MICROCOMPUTER | | Instruction Set Summary | | | | | | | | | | _________ _________ | | _| \__/ |_ | | Vss |_|1 40|_| E --> | | _| |_ | | --> XTAL1 |_|2 39|_| AS | | _| |_ _ | | --> EXTAL2 |_|3 38|_| R/W --> | | ___ _| |_ | | --> NMI |_|4 37|_| D0/A0 <--> | | ___ _| |_ | | --> IRQ1 |_|5 36|_| D1/A1 <--> | | _| |_ | | --> Reset |_|6 35|_| D2/A2 <--> | | _| |_ | | Vcc |_|7 34|_| D3/A3 <--> | | _| |_ | | <--> P20 |_|8 33|_| D4/A4 <--> | | _| |_ | | <--> P21 |_|9 32|_| D5/A5 <--> | | _| |_ | | <--> P22 |_|10 6803 31|_| D6/A6 <--> | | _| |_ | | <--> P23 |_|11 30|_| D7/A7 <--> | | _| |_ | | <--> P24 |_|12 29|_| A8 --> | | _| |_ | | <--> P10 |_|13 28|_| A9 --> | | _| |_ | | <--> P11 |_|14 27|_| A10 --> | | _| |_ | | <--> P12 |_|15 26|_| A11 --> | | _| |_ | | <--> P13 |_|16 25|_| A12 --> | | _| |_ | | <--> P14 |_|17 24|_| A13 --> | | _| |_ | | <--> P15 |_|18 23|_| A14 --> | | _| |_ | | <--> P16 |_|19 22|_| A15 --> |

| _| |_ | | <--> P17 |_|20 21|_| Vcc Standby | | |______________________| | | | | | | | | | | | | | |Written by Jonathan Bowen | | Programming Research Group | | Oxford University Computing Laboratory | | 8-11 Keble Road | | Oxford OX1 3QD | | England | | | | Tel +44-865-273840 | | | |Created September 1981 | |Updated April 1985 | |Issue 1.5 Copyright (C) J.P.Bowen 1985| ------------------------------------------------------------------------------------------------------------------------------|Mnem. |Op|HINZVC|IEXD#R|Description |Notes | |------+--+------+------+-------------------------+------------| |ABA |1B|*-****|X |Add accumulators |A=A+B | |ABX |3A|------|X |Add registers |X=X+B | |ADCr s|B9|*-****| XXXX |Add with Carry |r=r+s+C | |ADDr s|BB|*-****| XXXX |Add |r=r+s | |ADDD s|F3|--****| XXX* |Add Double accumulator |D=D+s | |ANDr s|B4|--**0-| XXXX |Logical AND |r=r&s | |ASL d|78|--****| XX |Arithmetic Shift Left |d=d*2 | |ASLr |48|--****|X |Arithmetic Shift Left |r=r*2 | |ASLD |05|--****|X |Arithmetic Shift Left |D=D*2 | |ASR d|77|--****| XX |Arithmetic Shift Right |d=d/2 | |ASRr |47|--****|X |Arithmetic Shift Right |r=r/2 | |BCC a|24|------| X|Branch if Carry Clear |If C=0 | |BCS a|25|------| X|Branch if Carry Set |If C=1 | |BEQ a|27|------| X|Branch if Equal |If Z=1 | |BGE a|2C|------| X|Branch if Greater/Equal |If NxV=0 | |BGT a|2E|------| X|Branch if Greater Than |If Zv{NxV}=0| |BHI a|22|------| X|Branch if Higher |If CvZ=0 | |BHS a|24|------| X|Branch if Higher or Same |If C=0 | |BITr s|B5|--**0-| XXXX |Bit Test |r&s | |BLE a|2F|------| X|Branch if Less or Equal |If Zv{NxV}=0| |BLO a|25|------| X|Branch if Lower |If C=1 | |BLS a|23|------| X|Branch if Lower or Same |If CvZ=1 | |BLT a|2D|------| X|Branch if Less Than |If NxV=1 | |BMI a|2B|------| X|Branch if Minus |If N=1 | |BNE a|26|------| X|Branch if Not Equal |If Z=0 | |BPL a|2A|------| X|Branch if Plus |If N=0 | |BRA a|20|------| X|Branch Always |PC=a | |BRN a|21|------| X|Branch Never |No op | |BSR a|8D|------| X|Branch to Subroutine |-[S]=PC,PC=a| |BVC a|28|------| X|Branch if Overflow Clear |If V=0 | |BVS a|29|------| X|Branch if Overflow Set |If V=1 | |CBA |11|--****|X |Compare accumulators |A-B | |CLC |0C|-----0|X |Clear Carry |C=0 |

|CLI |0E|-0----|X |Clear Interrupt Mask |I=0 | |CLR d|7F|--0100| XX |Clear |d=0 | |CLRr |4F|--0100|X |Clear accumulator |r=0 | |CLV |0A|----0-|X |Clear Overflow |V=0 | |CMPr s|B1|--****| XXXX |Compare |r-s | |COM d|63|--**01| XX |Complement |d=~d | |COMr |43|--**01|X |Complement accumulator |r=~r | |CPX s|BC|--****| XXX* |Compare Index Register |X-s | |DAA |19|--****|X |Decimal Adjust Acc. |A=BCD format| |DEC d|7A|--**?-| XX |Decrement |d=d-1 | |DECr |4A|--**?-|X |Decrement accumulator |r=r-1 | |DES |34|------|X |Decrement Stack Pointer |S=S-1 | |DEX |09|---*--|X |Decrement Index Register |X=X-1 | |EORr s|B8|--**0-| XXXX |Logical Exclusive OR |r=rxs | |INC d|7C|--**?-| XX |Increment |d=d+1 | |INCr |4C|--**?-|X |Increment accumulator |r=r+1 | |INS |31|------|X |Increment Stack Pointer |S=S+1 | |INX |08|---*--|X |Increment Index Register |X=X+1 | |JMP d|7E|------| XX |Jump |PC=d | |JSR d|BD|------| XX |Jump to Subroutine |-[S]=PC,PC=d| |LDAr s|B6|--**0-| XXXX |Load Accumulator |r=s | |LDD s|FC|--**0-| XXX* |Load Double accumulator |D=s | |LDS s|BE|--**0-| XXX* |Load Stack Pointer |S=s | |LDX s|FE|--**0-| XXX* |Load Index Register |X=s | |LSR d|74|--0***| XX |Logical Shift Right |d=->{0,d,C} | |LSRr |44|--0***|X |Logical Shift Right |r=->{0,r,C} | |LSRD |04|--0***|X |Logical Shift Right |D=->{0,D,C} | |MUL |3D|-----*|X |Multiply |D=A*B | |NEG d|70|--****| XX |Negate |d=-d | |NEGr |40|--****|X |Negate accumulator |r=-r | |NOP |01|------|X |No Operation | | |ORAr s|BA|--**0-| XXXX |Logical inclusive OR |r=rvs | |PSHA |36|------|X |Push |-[S]=A | |PSHB |37|------|X |Push |-[S]=B | |PSHX |3C|------|X |Push Index Register |-[S]=X | |PULA |32|------|X |Pull |A=[S]+ | |PULB |33|------|X |Pull |B=[S]+ | |PULX |38|------|X |Pull Index Register |X=[S]+ | |ROL d|79|--**?*| XX |Rotate Left |d={C,d}<| |ROLr |49|--**?*|X |Rotate Left accumulator |r={C,r}<| |ROR d|76|--**?*| XX |Rotate Right |d=->{C,d} | |RORr |46|--**?*|X |Rotate Right accumulator |r=->{C,r} | |RTI |3B|??????|X |Return from Interrupt |{regs}=[S]+ | ------------------------------------------------------------------------------------------------------------------------------|Mnem. |Op|HINZVC|IEXD#R|Description |Notes | |------+--+------+------+-+-----------------------+------------| |RTS |39|------|X |Return from Subroutine |PC=[S]+ | |SBA |10|--****|X |Subtract accumulators |A=A-B | |SBCr s|B2|--****| XXXX |Subtract with Carry |r=r-s-C | |SEC |0D|-----1|X |Set Carry |C=1 | |SEI |0F|-1----|X |Set Interrupt Mask |I=1 | |SEV |0B|----1-|X |Set Overflow |V=1 | |STAr d|B7|--**0-| XXX |Store Accumulator |d=r | |STD d|FD|--**0-| XXX |Store Double accumulator |D=r | |STS d|BF|--**0-| XXX |Store Stack Pointer |d=S | |STX d|FF|--**0-| XXX |Store Index Register |d=X | |SUBr s|B0|--****| XXXX |Subtract |r=r-s |

|SUBD s|B3|--****| XXX* |Subtract Double acc. |D=D-s | |SWI |3F|-1----|X |Software Interrupt |-[S]={regs} | |TAB |17|--**0-|X |Transfer accumulators |B=A | |TAP |06|******|X |Transfer |P=A | |TBA |17|--**0-|X |Transfer accumulators |A=B | |TPA |07|------|X |Transfer |A=P | |TST s|7D|--**00| XX |Test |s | |TSTr |4D|--**00|X |Test accumulator |r | |TSX |30|------|X |Transfer |X=S | |TXS |35|------|X |Transfer |S=X | |WAI |3E|-*----|X |Wait for Interrupt |-[S]={regs} | |---------+------+------+--------------------------------------| | CCR |-*01? | |Unaffected/affected/reset/set/unknown | | H |H | |Half carry (Bit 5) | | I | I | |Interrupt mask (Bit 4) | | N | N | |Negative (Bit 3) | | Z | Z | |Zero (Bit 2) | | V | V | |Overflow (Bit 1) | | C | C| |Carry (Bit 0) | |----------------+------+--------------------------------------| | r |I |Inherent (r=A,Op=4XH, r=B,Op=5XH) | | nn,E | E |Extended (Op=E, ~s=e) | | nn,X | X |Index (Op=E-10H, ~s=e+1, JSR ~s=e-1) | | n,D | D |Direct (Op=E-20H, ~s=e-1) | | #n | # |Immediate (8-bit, Op=E-30H, ~s=e-2) | | #nn | * |Immediate (16-bit, Op=E-30H, ~s=e-2) | | a | R|Relative (PC=PC+2+offset) | | r | |Inherent (r=A,Op=BXH, r=B,Op=FXH) | |-----------------------+--------------------------------------| |DIRECT |Direct addressing mode | |EXTEND |Extended addressing mode | |FCB n |Form Constant Byte | |FCC 'string' |Form Constant Characters | |FDB nn |Form Double Byte | |RMB nn |Reserve Memory Bytes | |-----------------------+--------------------------------------| | A |Accumulator A (8-bit, Op=BXH) | | B |Accumulator B (8-bit, Op=FXH) | | D |A and B combined (16-bit, A hi, B lo) | | P |Condition Code Register (8-bit, CCR) | | PC |Program Counter (16-bit) | | S |Stack Pointer (16-bit) | | X |Index Register (16-bit) | |-----------------------+--------------------------------------| | a |Relative address (-125 to +129) | | d s |Destination/source | | n nn |8/16-bit expression (0 to 255/65535) | | r |Accumulator register A or B | | + - * / |Add/subtract/multiply/divide | | & ~ v x |AND/NOT/inclusive OR/exclusive OR | | <- -> |Rotate left/right | | [ ] [ ]+ -[ ] |Indirect address/increment/decrement | | { } {regs} |Combination of operands/{PC,X,A,B,P} | |-----------------------+--------------------------------------| | 0000H to 001FH |Internal registers | | 0080H to 00FFH |128 bytes of internal RAM (not 6803NR)| | FFF0H to FFFFH |Interrupt vectors | | FFF0H to FFF1H |IRQ2 serial I/O interrupt vector |

| FFF2H to FFF3H |IRQ2 timer overflow vector | | FFF4H to FFF5H |IRQ2 timer output compare vector | | FFF6H to FFF7H |IRQ2 timer input capture vector | | FFF8H to FFF9H |IRQ1 interrupt strobe 3 vector | | FFFAH to FFFBH |SWI instruction interrupt vector | | FFFCH to FFFDH |Non-maskable interrupt vector | | FFFEH to FFFFH |Reset vector | ----------------------------------------------------------------

Related Documents

6803
September 2019 2
1315-6803-1-pb.pdf
November 2019 14
6803 Realtor Prf1
December 2019 7