📄 m68hc11.h
字号:
/* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table Copyright 1999, 2000, 2002 Free Software Foundation, Inc. Written by Stephane Carrez (stcarrez@nerim.fr)This file is part of GDB, GAS, and the GNU binutils.GDB, GAS, and the GNU binutils are free software; you can redistributethem and/or modify them under the terms of the GNU General PublicLicense as published by the Free Software Foundation; either version1, or (at your option) any later version.GDB, GAS, and the GNU binutils are distributed in the hope that theywill be useful, but WITHOUT ANY WARRANTY; without even the impliedwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Seethe GNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this file; see the file COPYING. If not, write to the FreeSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#ifndef _OPCODE_M68HC11_H#define _OPCODE_M68HC11_H/* Flags for the definition of the 68HC11 & 68HC12 CCR. */#define M6811_S_BIT 0x80 /* Stop disable */#define M6811_X_BIT 0x40 /* X-interrupt mask */#define M6811_H_BIT 0x20 /* Half carry flag */#define M6811_I_BIT 0x10 /* I-interrupt mask */#define M6811_N_BIT 0x08 /* Negative */#define M6811_Z_BIT 0x04 /* Zero */#define M6811_V_BIT 0x02 /* Overflow */#define M6811_C_BIT 0x01 /* Carry *//* 68HC11 register address offsets (range 0..0x3F or 0..64). The absolute address of the I/O register depends on the setting of the M6811_INIT register. At init time, the I/O registers are mapped at 0x1000. Address of registers is then: 0x1000 + M6811_xxx*/#define M6811_PORTA 0x00 /* Port A register */#define M6811__RES1 0x01 /* Unused/Reserved */#define M6811_PIOC 0x02 /* Parallel I/O Control register */#define M6811_PORTC 0x03 /* Port C register */#define M6811_PORTB 0x04 /* Port B register */#define M6811_PORTCL 0x05 /* Alternate latched port C */#define M6811__RES6 0x06 /* Unused/Reserved */#define M6811_DDRC 0x07 /* Data direction register for port C */#define M6811_PORTD 0x08 /* Port D register */#define M6811_DDRD 0x09 /* Data direction register for port D */#define M6811_PORTE 0x0A /* Port E input register */#define M6811_CFORC 0x0B /* Compare Force Register */#define M6811_OC1M 0x0C /* OC1 Action Mask register */#define M6811_OC1D 0x0D /* OC1 Action Data register */#define M6811_TCTN 0x0E /* Timer Counter Register */#define M6811_TCTN_H 0x0E /* " " " High part */#define M6811_TCTN_L 0x0F /* " " " Low part */#define M6811_TIC1 0x10 /* Input capture 1 register */#define M6811_TIC1_H 0x10 /* " " " High part */#define M6811_TIC1_L 0x11 /* " " " Low part */#define M6811_TIC2 0x12 /* Input capture 2 register */#define M6811_TIC2_H 0x12 /* " " " High part */#define M6811_TIC2_L 0x13 /* " " " Low part */#define M6811_TIC3 0x14 /* Input capture 3 register */#define M6811_TIC3_H 0x14 /* " " " High part */#define M6811_TIC3_L 0x15 /* " " " Low part */#define M6811_TOC1 0x16 /* Output Compare 1 register */#define M6811_TOC1_H 0x16 /* " " " High part */#define M6811_TOC1_L 0x17 /* " " " Low part */#define M6811_TOC2 0x18 /* Output Compare 2 register */#define M6811_TOC2_H 0x18 /* " " " High part */#define M6811_TOC2_L 0x19 /* " " " Low part */#define M6811_TOC3 0x1A /* Output Compare 3 register */#define M6811_TOC3_H 0x1A /* " " " High part */#define M6811_TOC3_L 0x1B /* " " " Low part */#define M6811_TOC4 0x1C /* Output Compare 4 register */#define M6811_TOC4_H 0x1C /* " " " High part */#define M6811_TOC4_L 0x1D /* " " " Low part */#define M6811_TOC5 0x1E /* Output Compare 5 register */#define M6811_TOC5_H 0x1E /* " " " High part */#define M6811_TOC5_L 0x1F /* " " " Low part */#define M6811_TCTL1 0x20 /* Timer Control register 1 */#define M6811_TCTL2 0x21 /* Timer Control register 2 */#define M6811_TMSK1 0x22 /* Timer Interrupt Mask Register 1 */#define M6811_TFLG1 0x23 /* Timer Interrupt Flag Register 1 */#define M6811_TMSK2 0x24 /* Timer Interrupt Mask Register 2 */#define M6811_TFLG2 0x25 /* Timer Interrupt Flag Register 2 */#define M6811_PACTL 0x26 /* Pulse Accumulator Control Register */#define M6811_PACNT 0x27 /* Pulse Accumulator Count Register */#define M6811_SPCR 0x28 /* SPI Control register */#define M6811_SPSR 0x29 /* SPI Status register */#define M6811_SPDR 0x2A /* SPI Data register */#define M6811_BAUD 0x2B /* SCI Baud register */#define M6811_SCCR1 0x2C /* SCI Control register 1 */#define M6811_SCCR2 0x2D /* SCI Control register 2 */#define M6811_SCSR 0x2E /* SCI Status register */#define M6811_SCDR 0x2F /* SCI Data (Read => RDR, Write => TDR) */#define M6811_ADCTL 0x30 /* A/D Control register */#define M6811_ADR1 0x31 /* A/D, Analog Result register 1 */#define M6811_ADR2 0x32 /* A/D, Analog Result register 2 */#define M6811_ADR3 0x33 /* A/D, Analog Result register 3 */#define M6811_ADR4 0x34 /* A/D, Analog Result register 4 */#define M6811__RES35 0x35#define M6811__RES36 0x36#define M6811__RES37 0x37#define M6811__RES38 0x38#define M6811_OPTION 0x39 /* System Configuration Options */#define M6811_COPRST 0x3A /* Arm/Reset COP Timer Circuitry */#define M6811_PPROG 0x3B /* EEPROM Programming Control Register */#define M6811_HPRIO 0x3C /* Highest priority I-Bit int and misc */#define M6811_INIT 0x3D /* Ram and I/O mapping register */#define M6811_TEST1 0x3E /* Factory test control register */#define M6811_CONFIG 0x3F /* COP, ROM and EEPROM enables *//* Flags of the CONFIG register (in EEPROM). */#define M6811_NOSEC 0x08 /* Security mode disable */#define M6811_NOCOP 0x04 /* COP system disable */#define M6811_ROMON 0x02 /* Enable on-chip rom */#define M6811_EEON 0x01 /* Enable on-chip eeprom *//* Flags of the PPROG register. */#define M6811_BYTE 0x10 /* Byte mode */#define M6811_ROW 0x08 /* Row mode */#define M6811_ERASE 0x04 /* Erase mode select (1 = erase, 0 = read) */#define M6811_EELAT 0x02 /* EEPROM Latch Control */#define M6811_EEPGM 0x01 /* EEPROM Programming Voltage Enable *//* Flags of the PIOC register. */#define M6811_STAF 0x80 /* Strobe A Interrupt Status Flag */#define M6811_STAI 0x40 /* Strobe A Interrupt Enable Mask */#define M6811_CWOM 0x20 /* Port C Wire OR mode */#define M6811_HNDS 0x10 /* Handshake mode */#define M6811_OIN 0x08 /* Output or Input handshaking */#define M6811_PLS 0x04 /* Pulse/Interlocked Handshake Operation */#define M6811_EGA 0x02 /* Active Edge for Strobe A */#define M6811_INVB 0x01 /* Invert Strobe B *//* Flags of the SCCR1 register. */#define M6811_R8 0x80 /* Receive Data bit 8 */#define M6811_T8 0x40 /* Transmit data bit 8 */#define M6811__SCCR1_5 0x20 /* Unused */#define M6811_M 0x10 /* SCI Character length */#define M6811_WAKE 0x08 /* Wake up method select (0=idle, 1=addr mark) *//* Flags of the SCCR2 register. */#define M6811_TIE 0x80 /* Transmit Interrupt enable */#define M6811_TCIE 0x40 /* Transmit Complete Interrupt Enable */#define M6811_RIE 0x20 /* Receive Interrupt Enable */#define M6811_ILIE 0x10 /* Idle Line Interrupt Enable */#define M6811_TE 0x08 /* Transmit Enable */#define M6811_RE 0x04 /* Receive Enable */#define M6811_RWU 0x02 /* Receiver Wake Up */#define M6811_SBK 0x01 /* Send Break *//* Flags of the SCSR register. */#define M6811_TDRE 0x80 /* Transmit Data Register Empty */#define M6811_TC 0x40 /* Transmit Complete */#define M6811_RDRF 0x20 /* Receive Data Register Full */#define M6811_IDLE 0x10 /* Idle Line Detect */#define M6811_OR 0x08 /* Overrun Error */#define M6811_NF 0x04 /* Noise Flag */#define M6811_FE 0x02 /* Framing Error */#define M6811__SCSR_0 0x01 /* Unused *//* Flags of the BAUD register. */#define M6811_TCLR 0x80 /* Clear Baud Rate (TEST mode) */#define M6811__BAUD_6 0x40 /* Not used */#define M6811_SCP1 0x20 /* SCI Baud rate prescaler select */#define M6811_SCP0 0x10#define M6811_RCKB 0x08 /* Baud Rate Clock Check (TEST mode) */#define M6811_SCR2 0x04 /* SCI Baud rate select */#define M6811_SCR1 0x02#define M6811_SCR0 0x01#define M6811_BAUD_DIV_1 (0)#define M6811_BAUD_DIV_3 (M6811_SCP0)#define M6811_BAUD_DIV_4 (M6811_SCP1)#define M6811_BAUD_DIV_13 (M6811_SCP1|M6811_SCP0)/* Flags of the SPCR register. */#define M6811_SPIE 0x80 /* Serial Peripheral Interrupt Enable */#define M6811_SPE 0x40 /* Serial Peripheral System Enable */#define M6811_DWOM 0x20 /* Port D Wire-OR mode option */#define M6811_MSTR 0x10 /* Master Mode Select */#define M6811_CPOL 0x08 /* Clock Polarity */#define M6811_CPHA 0x04 /* Clock Phase */#define M6811_SPR1 0x02 /* SPI Clock Rate Select */#define M6811_SPR0 0x01/* Flags of the SPSR register. */#define M6811_SPIF 0x80 /* SPI Transfer Complete flag */#define M6811_WCOL 0x40 /* Write Collision */#define M6811_MODF 0x10 /* Mode Fault *//* Flags of the ADCTL register. */#define M6811_CCF 0x80 /* Conversions Complete Flag */#define M6811_SCAN 0x20 /* Continuous Scan Control */#define M6811_MULT 0x10 /* Multiple Channel/Single Channel Control */#define M6811_CD 0x08 /* Channel Select D */#define M6811_CC 0x04 /* C */#define M6811_CB 0x02 /* B */#define M6811_CA 0x01 /* A *//* Flags of the CFORC register. */#define M6811_FOC1 0x80 /* Force Output Compare 1 */#define M6811_FOC2 0x40 /* 2 */#define M6811_FOC3 0x20 /* 3 */#define M6811_FOC4 0x10 /* 4 */#define M6811_FOC5 0x08 /* 5 *//* Flags of the OC1M register. */#define M6811_OC1M7 0x80 /* Output Compare 7 */#define M6811_OC1M6 0x40 /* 6 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -