⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldst.h

📁 RISC processor ARM-7 emulator
💻 H
字号:
/*************************************************************************
    Copyright (C) 2002,2003,2004,2005 Wei Qin
    See file COPYING for more information.

    This program is free software; you can redistribute it and/or modify    
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
*************************************************************************/

#ifndef __LDST_H__
#define __LDST_H__

#ifdef _MODULARIZE_
typedef emulator::arm_emulator armulator;
#endif

void impl_ld1_imm(IMPL_FORMALS);	
void impl_ld1_imm_p(IMPL_FORMALS);	
void impl_ld1_imm_b(IMPL_FORMALS);
void impl_ld1_imm_pb(IMPL_FORMALS);

void impl_ld1_reg(IMPL_FORMALS);	
void impl_ld1_reg_p(IMPL_FORMALS);
void impl_ld1_reg_b(IMPL_FORMALS);
void impl_ld1_reg_pb(IMPL_FORMALS);

void impl_ld2_imm(IMPL_FORMALS);	
void impl_ld2_reg(IMPL_FORMALS);	

void impl_st1_imm(IMPL_FORMALS);
void impl_st1_imm_p(IMPL_FORMALS);
void impl_st1_imm_b(IMPL_FORMALS);
void impl_st1_imm_pb(IMPL_FORMALS);

void impl_st1_reg(IMPL_FORMALS);	
void impl_st1_reg_p(IMPL_FORMALS);
void impl_st1_reg_b(IMPL_FORMALS);
void impl_st1_reg_pb(IMPL_FORMALS);

void impl_st2_imm(IMPL_FORMALS);	
void impl_st2_reg(IMPL_FORMALS);

void impl_swap(IMPL_FORMALS);
void impl_swap_byte(IMPL_FORMALS);

void impl_ldm(IMPL_FORMALS);
void impl_stm(IMPL_FORMALS);

char *disasm_ldst1_imm(arm_inst_t, arm_addr_t, char *);
char *disasm_ldst1_reg(arm_inst_t, arm_addr_t, char *);

char *disasm_ldst2_imm(arm_inst_t, arm_addr_t, char *);
char *disasm_ldst2_reg(arm_inst_t, arm_addr_t, char *);

char *disasm_swap(arm_inst_t, arm_addr_t, char *);
char *disasm_swap_byte(arm_inst_t, arm_addr_t, char *);

char *disasm_ldstm(arm_inst_t, arm_addr_t, char *);

#define disasm_ld1_imm disasm_ldst1_imm	
#define disasm_ld1_imm_p disasm_ldst1_imm	
#define disasm_ld1_imm_b disasm_ldst1_imm
#define disasm_ld1_imm_pb disasm_ldst1_imm

#define disasm_ld1_reg disasm_ldst1_reg	
#define disasm_ld1_reg_p disasm_ldst1_reg
#define disasm_ld1_reg_b disasm_ldst1_reg
#define disasm_ld1_reg_pb disasm_ldst1_reg

#define disasm_ld2_imm disasm_ldst2_imm	
#define disasm_ld2_reg disasm_ldst2_reg

#define disasm_st1_imm disasm_ldst1_imm
#define disasm_st1_imm_p disasm_ldst1_imm
#define disasm_st1_imm_b disasm_ldst1_imm
#define disasm_st1_imm_pb disasm_ldst1_imm

#define disasm_st1_reg disasm_ldst1_reg	
#define disasm_st1_reg_p disasm_ldst1_reg
#define disasm_st1_reg_b disasm_ldst1_reg
#define disasm_st1_reg_pb disasm_ldst1_reg

#define disasm_st2_imm disasm_ldst2_imm
#define disasm_st2_reg disasm_ldst2_reg

#define disasm_ldm disasm_ldstm
#define disasm_stm disasm_ldstm

#define incr_ld1_imm INST_LDR_IMM	
#define incr_ld1_imm_p INST_LDR_IMM	
#define incr_ld1_imm_b INST_LDR_IMM
#define incr_ld1_imm_pb INST_LDR_IMM

#define incr_ld1_reg INST_LDR_REG	
#define incr_ld1_reg_p INST_LDR_REG
#define incr_ld1_reg_b INST_LDR_REG
#define incr_ld1_reg_pb INST_LDR_REG

#define incr_ld2_imm INST_LDR_IMM
#define incr_ld2_reg INST_LDR_REG

#define incr_st1_imm INST_STR_IMM
#define incr_st1_imm_p INST_STR_IMM
#define incr_st1_imm_b INST_STR_IMM
#define incr_st1_imm_pb INST_STR_IMM

#define incr_st1_reg INST_STR_REG	
#define incr_st1_reg_p INST_STR_REG
#define incr_st1_reg_b INST_STR_REG
#define incr_st1_reg_pb INST_STR_REG

#define incr_st2_imm INST_STR_IMM
#define incr_st2_reg INST_STR_REG

#define incr_ldm INST_LDM
#define incr_stm INST_STM

#define incr_swap INST_SWAP
#define incr_swap_byte INST_SWAP
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -