insaxp.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 195 行 · 第 1/2 页
H
195 行
/****************************************************************************
*
* Open Watcom Project
*
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
* ========================================================================
*
* This file contains Original Code and/or Modifications of Original
* Code as defined in and that are subject to the Sybase Open Watcom
* Public License version 1.0 (the 'License'). You may not use this file
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
* provided with the Original Code and Modifications, and is also
* available at www.sybase.com/developer/opensource.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
* NON-INFRINGEMENT. Please see the License for the specific language
* governing rights and limitations under the License.
*
* ========================================================================
*
* Description: Table of Alpha AXP opcodes and corresponding decode routines.
*
****************************************************************************/
#define o( p, c ) ((p##ul<<26)+(c##ul<<5))
/*
Idx, Name, Opcode, Mask, Handler
*/
inspick( CALL_PAL, "call_pal", 0x00000000, 0xfc000000, AXPPal )
inspick( PAL19, "pal19", 0x64000000, 0xfc000000, AXPPal )
inspick( PAL1B, "pal1b", 0x6c000000, 0xfc000000, AXPPal )
inspick( PAL1D, "pal1d", 0x74000000, 0xfc000000, AXPPal )
inspick( PAL1E, "pal1e", 0x78000000, 0xfc000000, AXPPal )
inspick( PAL1F, "pal1f", 0x7c000000, 0xfc000000, AXPPal )
inspick( LDA, "lda", 0x20000000, 0xFC000000, AXPMemoryLA )
inspick( LDAH, "ldah", 0x24000000, 0xFC000000, AXPMemoryLA )
inspick( LDL, "ldl", 0xa0000000, 0xFC000000, AXPMemory )
inspick( LDL_L, "ldl_l", 0xa8000000, 0xFC000000, AXPMemory )
inspick( LDQ, "ldq", 0xa4000000, 0xFC000000, AXPMemory )
inspick( LDQ_L, "ldq_l", 0xac000000, 0xFC000000, AXPMemory )
inspick( LDQ_U, "ldq_u", 0x2c000000, 0xFC000000, AXPMemory )
inspick( LDS, "lds", 0x88000000, 0xFC000000, AXPFPMemory )
inspick( LDT, "ldt", 0x8c000000, 0xFC000000, AXPFPMemory )
inspick( STL, "stl", 0xb0000000, 0xFC000000, AXPMemory )
inspick( STL_C, "stl_c", 0xb8000000, 0xFC000000, AXPMemory )
inspick( STQ, "stq", 0xb4000000, 0xFC000000, AXPMemory )
inspick( STQ_C, "stq_c", 0xbc000000, 0xFC000000, AXPMemory )
inspick( STQ_U, "stq_u", 0x3c000000, 0xFC000000, AXPMemory )
inspick( STS, "sts", 0x98000000, 0xFC000000, AXPFPMemory )
inspick( STT, "stt", 0x9c000000, 0xFC000000, AXPFPMemory )
inspick( FETCH, "fetch", 0x60008000, 0xFC00FFFF, AXPMemoryFC )
inspick( FETCH_M, "fetch_m", 0x6000a000, 0xFC00FFFF, AXPMemoryFC )
inspick( MB, "mb", 0x60004000, 0xFC00FFFF, AXPMemoryFC )
inspick( RC, "rc", 0x6000e000, 0xFC00FFFF, AXPMemoryFC )
inspick( RPCC, "rpcc", 0x6000c000, 0xFC00FFFF, AXPMemoryFC )
inspick( RS, "rs", 0x6000f000, 0xFC00FFFF, AXPMemoryFC )
inspick( TRAPB, "trapb", 0x60000000, 0xFC00FFFF, AXPMemoryFC )
inspick( WMB, "wmb", 0x60004400, 0xFC00FFFF, AXPMemoryFC )
inspick( EXCB, "excb", 0x60000400, 0xFC00FFFF, AXPMemoryFC )
inspick( JMP, "jmp", 0x68000000, 0xFC00C000, AXPJump )
inspick( JSR, "jsr", 0x68004000, 0xFC00C000, AXPJump )
inspick( RET, "ret", 0x68008000, 0xFC00C000, AXPJump )
inspick( JSR_CORTN, "jsr_coroutine",0x6800c000, 0xFC00C000, AXPJump )
inspick( BR, "br", 0xc0000000, 0xFC000000, AXPBranch )
inspick( FBEQ, "fbeq", 0xc4000000, 0xFC000000, AXPFPBranch )
inspick( FBLT, "fblt", 0xc8000000, 0xFC000000, AXPFPBranch )
inspick( FBLE, "fble", 0xcc000000, 0xFC000000, AXPFPBranch )
inspick( BSR, "bsr", 0xd0000000, 0xFC000000, AXPBranch )
inspick( FBNE, "fbne", 0xd4000000, 0xFC000000, AXPFPBranch )
inspick( FBGE, "fbge", 0xd8000000, 0xFC000000, AXPFPBranch )
inspick( FBGT, "fbgt", 0xdc000000, 0xFC000000, AXPFPBranch )
inspick( BLBC, "blbc", 0xe0000000, 0xFC000000, AXPBranch )
inspick( BEQ, "beq", 0xe4000000, 0xFC000000, AXPBranch )
inspick( BLT, "blt", 0xe8000000, 0xFC000000, AXPBranch )
inspick( BLE, "ble", 0xec000000, 0xFC000000, AXPBranch )
inspick( BLBS, "blbs", 0xf0000000, 0xFC000000, AXPBranch )
inspick( BNE, "bne", 0xf4000000, 0xFC000000, AXPBranch )
inspick( BGE, "bge", 0xf8000000, 0xFC000000, AXPBranch )
inspick( BGT, "bgt", 0xfc000000, 0xFC000000, AXPBranch )
inspick( ADDL, "addl", o(0x10,0x00), 0xFC0007E0, AXPOperateV )
inspick( ADDQ, "addq", o(0x10,0x20), 0xFC0007E0, AXPOperateV )
inspick( CMPBGE, "cmpbge", o(0x10,0x0f), 0xFC000FE0, AXPOperate )
inspick( CMPEQ, "cmpeq", o(0x10,0x2d), 0xFC000FE0, AXPOperate )
inspick( CMPLE, "cmple", o(0x10,0x6d), 0xFC000FE0, AXPOperate )
inspick( CMPLT, "cmplt", o(0x10,0x4d), 0xFC000FE0, AXPOperate )
inspick( CMPULE, "cmpule", o(0x10,0x3d), 0xFC000FE0, AXPOperate )
inspick( CMPULT, "cmpult", o(0x10,0x1d), 0xFC000FE0, AXPOperate )
inspick( SUBL, "subl", o(0x10,0x09), 0xFC0007E0, AXPOperateV )
inspick( SUBQ, "subq", o(0x10,0x29), 0xFC0007E0, AXPOperateV )
inspick( S4ADDL, "s4addl", o(0x10,0x02), 0xFC000FE0, AXPOperate )
inspick( S4ADDQ, "s4addq", o(0x10,0x22), 0xFC000FE0, AXPOperate )
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?