cpu_m88k_instr.cc File Reference

Back to the index.

Macros | Functions
cpu_m88k_instr.cc File Reference
#include "tmp_m88k_bcnd.cc"
#include "tmp_m88k_loadstore.cc"
#include "cpu_dyntrans.cc"

Go to the source code of this file.

Macros

#define SYNCH_PC
 
#define ABORT_EXECUTION
 
#define M88K_LOADSTORE_STORE   4
 
#define M88K_LOADSTORE_SIGNEDNESS   8
 
#define M88K_LOADSTORE_ENDIANNESS   16
 
#define M88K_LOADSTORE_SCALEDNESS   32
 
#define M88K_LOADSTORE_USR   64
 
#define M88K_LOADSTORE_REGISTEROFFSET   128
 
#define DYNTRANS_TO_BE_TRANSLATED_HEAD
 
#define DYNTRANS_TO_BE_TRANSLATED_TAIL
 

Functions

 X (nop)
 
 X (br_samepage)
 
 X (bsr_samepage)
 
 X (br)
 
 X (br_n)
 
 X (bsr)
 
 X (bsr_n)
 
 X (bsr_trace)
 
 X (bsr_n_trace)
 
 X (bb0)
 
 X (bb0_samepage)
 
 X (bb0_n)
 
 X (bb1)
 
 X (bb1_samepage)
 
 X (bb1_n)
 
 X (ff0)
 
 X (ff1)
 
 X (jmp)
 
 X (jmp_n)
 
 X (jmp_trace)
 
 X (jmp_n_trace)
 
 X (jsr)
 
 X (jsr_n)
 
 X (jsr_trace)
 
 X (jsr_n_trace)
 
 X (cmp_imm)
 
 X (cmp)
 
 X (extu_imm)
 
 X (extu)
 
 X (ext_imm)
 
 X (ext)
 
 X (mak_imm)
 
 X (mak)
 
 X (rot)
 
 X (clr)
 
 X (set)
 
 X (or_r0_imm0)
 
 X (or_r0_imm)
 
 X (or_imm)
 
 X (xor_imm)
 
 X (and_imm)
 
 X (and_u_imm)
 
 X (mask_imm)
 
 X (add_imm)
 
 X (addu_imm)
 
 X (subu_imm)
 
 X (inc_reg)
 
 X (dec_reg)
 
 X (mulu_imm)
 
 X (divu_imm)
 
 X (div_imm)
 
 X (sub_imm)
 
 X (or)
 
 X (or_c)
 
 X (or_r0)
 
 X (xor)
 
 X (xor_c)
 
 X (and)
 
 X (and_c)
 
 X (addu)
 
 X (addu_s2r0)
 
 X (lda_reg_2)
 
 X (lda_reg_4)
 
 X (lda_reg_8)
 
 X (subu)
 
 X (add)
 
 X (mul)
 
 X (divu)
 
 X (div)
 
 X (addu_co)
 
 X (addu_ci)
 
 X (subu_co)
 
 X (subu_ci)
 
 X (ldcr)
 
 X (fldcr)
 
 X (stcr)
 
 X (fstcr)
 
 X (fadd_sss)
 
 X (fadd_dsd)
 
 X (fadd_dds)
 
 X (fadd_ddd)
 
 X (fsub_sds)
 
 X (fsub_dss)
 
 X (fsub_dsd)
 
 X (fsub_dds)
 
 X (fsub_ddd)
 
 X (fmul_sss)
 
 X (fmul_dss)
 
 X (fmul_dsd)
 
 X (fmul_dds)
 
 X (fmul_ddd)
 
 X (fdiv_sss)
 
 X (fdiv_dsd)
 
 X (fdiv_ddd)
 
 X (fcmp_sds)
 
 X (fcmp_sdd)
 
 X (flt_ss)
 
 X (flt_ds)
 
 X (trnc_ss)
 
 X (trnc_sd)
 
 X (xcr)
 
 X (rte)
 
 X (xmem_slow)
 
 X (prom_call)
 
 X (tb0)
 
 X (tb1)
 
 X (idle)
 
 X (idle_with_tb1)
 
 X (end_of_page)
 
 X (end_of_page2)
 
void COMBINE() idle (struct cpu *cpu, struct m88k_instr_call *ic, int low_addr)
 
 X (to_be_translated)
 

Macro Definition Documentation

◆ ABORT_EXECUTION

#define ABORT_EXECUTION
Value:
fatal("Execution aborted at: pc = 0x%08x\n", (int)cpu->pc); \
cpu->cd.m88k.next_ic = &nothing_call; \
cpu->running = 0; \
debugger_n_steps_left_before_interaction = 0; }
uint64_t pc
Definition: cpu.h:383
#define SYNCH_PC
Definition: cpu.h:326

Definition at line 45 of file cpu_m88k_instr.cc.

Referenced by X().

◆ DYNTRANS_TO_BE_TRANSLATED_HEAD

#define DYNTRANS_TO_BE_TRANSLATED_HEAD

◆ DYNTRANS_TO_BE_TRANSLATED_TAIL

#define DYNTRANS_TO_BE_TRANSLATED_TAIL

◆ M88K_LOADSTORE_ENDIANNESS

#define M88K_LOADSTORE_ENDIANNESS   16

Definition at line 302 of file cpu_m88k_instr.cc.

Referenced by X().

◆ M88K_LOADSTORE_REGISTEROFFSET

#define M88K_LOADSTORE_REGISTEROFFSET   128

Definition at line 305 of file cpu_m88k_instr.cc.

Referenced by X().

◆ M88K_LOADSTORE_SCALEDNESS

#define M88K_LOADSTORE_SCALEDNESS   32

Definition at line 303 of file cpu_m88k_instr.cc.

Referenced by X().

◆ M88K_LOADSTORE_SIGNEDNESS

#define M88K_LOADSTORE_SIGNEDNESS   8

Definition at line 301 of file cpu_m88k_instr.cc.

Referenced by X().

◆ M88K_LOADSTORE_STORE

#define M88K_LOADSTORE_STORE   4

Definition at line 300 of file cpu_m88k_instr.cc.

Referenced by X().

◆ M88K_LOADSTORE_USR

#define M88K_LOADSTORE_USR   64

Definition at line 304 of file cpu_m88k_instr.cc.

Referenced by X().

◆ SYNCH_PC

#define SYNCH_PC
Value:
{ \
int low_pc = ((size_t)ic - (size_t)cpu->cd.m88k.cur_ic_page) \
/ sizeof(struct m88k_instr_call); \
cpu->pc &= ~((M88K_IC_ENTRIES_PER_PAGE-1) \
cpu->pc += (low_pc << M88K_INSTR_ALIGNMENT_SHIFT); \
}
struct arm_instr_call * ic
#define M88K_IC_ENTRIES_PER_PAGE
union cpu::@1 cd
Definition: cpu.h:326
struct m88k_cpu m88k
Definition: cpu.h:442
#define M88K_INSTR_ALIGNMENT_SHIFT

Definition at line 37 of file cpu_m88k_instr.cc.

Referenced by X().

Function Documentation

◆ idle()

void COMBINE() idle ( struct cpu cpu,
struct m88k_instr_call *  ic,
int  low_addr 
)

◆ X() [1/111]

X ( nop  )

Definition at line 55 of file cpu_m88k_instr.cc.

◆ X() [2/111]

X ( br_samepage  )

Definition at line 67 of file cpu_m88k_instr.cc.

References cpu::cd, ic, and cpu::m88k.

◆ X() [3/111]

X ( bsr_samepage  )

◆ X() [4/111]

X ( br  )

Definition at line 89 of file cpu_m88k_instr.cc.

References ic, cpu::pc, and quick_pc_to_pointers.

◆ X() [5/111]

X ( br_n  )

◆ X() [6/111]

X ( bsr  )

◆ X() [7/111]

X ( bsr_n  )

◆ X() [8/111]

X ( bsr_trace  )

◆ X() [9/111]

X ( bsr_n_trace  )

◆ X() [10/111]

X ( bb0  )

Definition at line 172 of file cpu_m88k_instr.cc.

References ic, cpu::pc, quick_pc_to_pointers, and reg.

◆ X() [11/111]

X ( bb0_samepage  )

Definition at line 179 of file cpu_m88k_instr.cc.

References cpu::cd, ic, cpu::m88k, and reg.

◆ X() [12/111]

X ( bb0_n  )

◆ X() [13/111]

X ( bb1  )

Definition at line 211 of file cpu_m88k_instr.cc.

References ic, cpu::pc, quick_pc_to_pointers, and reg.

◆ X() [14/111]

X ( bb1_samepage  )

Definition at line 218 of file cpu_m88k_instr.cc.

References cpu::cd, ic, cpu::m88k, and reg.

◆ X() [15/111]

X ( bb1_n  )

◆ X() [16/111]

X ( ff0  )

Definition at line 258 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [17/111]

X ( ff1  )

Definition at line 275 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [18/111]

X ( jmp  )

Definition at line 317 of file cpu_m88k_instr.cc.

References ic, cpu::pc, quick_pc_to_pointers, and reg.

◆ X() [19/111]

X ( jmp_n  )

◆ X() [20/111]

X ( jmp_trace  )

Definition at line 336 of file cpu_m88k_instr.cc.

References cpu_functioncall_trace_return(), ic, cpu::pc, quick_pc_to_pointers, and reg.

◆ X() [21/111]

X ( jmp_n_trace  )

◆ X() [22/111]

X ( jsr  )

◆ X() [23/111]

X ( jsr_n  )

◆ X() [24/111]

X ( jsr_trace  )

◆ X() [25/111]

X ( jsr_n_trace  )

◆ X() [26/111]

X ( cmp_imm  )

Definition at line 432 of file cpu_m88k_instr.cc.

◆ X() [27/111]

X ( cmp  )

Definition at line 433 of file cpu_m88k_instr.cc.

◆ X() [28/111]

X ( extu_imm  )

Definition at line 479 of file cpu_m88k_instr.cc.

◆ X() [29/111]

X ( extu  )

Definition at line 483 of file cpu_m88k_instr.cc.

◆ X() [30/111]

X ( ext_imm  )

Definition at line 488 of file cpu_m88k_instr.cc.

◆ X() [31/111]

X ( ext  )

Definition at line 492 of file cpu_m88k_instr.cc.

◆ X() [32/111]

X ( mak_imm  )

Definition at line 497 of file cpu_m88k_instr.cc.

◆ X() [33/111]

X ( mak  )

Definition at line 501 of file cpu_m88k_instr.cc.

◆ X() [34/111]

X ( rot  )

Definition at line 519 of file cpu_m88k_instr.cc.

◆ X() [35/111]

X ( clr  )

Definition at line 523 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [36/111]

X ( set  )

Definition at line 530 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [37/111]

X ( or_r0_imm0  )

Definition at line 561 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [38/111]

X ( or_r0_imm  )

Definition at line 562 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [39/111]

X ( or_imm  )

Definition at line 563 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [40/111]

X ( xor_imm  )

Definition at line 564 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [41/111]

X ( and_imm  )

Definition at line 565 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [42/111]

X ( and_u_imm  )

Definition at line 567 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [43/111]

X ( mask_imm  )

Definition at line 569 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [44/111]

X ( add_imm  )

Definition at line 570 of file cpu_m88k_instr.cc.

References ic, m88k_exception(), M88K_EXCEPTION_INTEGER_OVERFLOW, reg, and SYNCH_PC.

◆ X() [45/111]

X ( addu_imm  )

Definition at line 585 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [46/111]

X ( subu_imm  )

Definition at line 586 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [47/111]

X ( inc_reg  )

Definition at line 587 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [48/111]

X ( dec_reg  )

Definition at line 588 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [49/111]

X ( mulu_imm  )

◆ X() [50/111]

X ( divu_imm  )

◆ X() [51/111]

X ( div_imm  )

◆ X() [52/111]

X ( sub_imm  )

Definition at line 624 of file cpu_m88k_instr.cc.

References ic, m88k_exception(), M88K_EXCEPTION_INTEGER_OVERFLOW, reg, and SYNCH_PC.

◆ X() [53/111]

X ( or  )

Definition at line 665 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [54/111]

X ( or_c  )

Definition at line 666 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [55/111]

X ( or_r0  )

Definition at line 667 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [56/111]

X ( xor  )

Definition at line 668 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [57/111]

X ( xor_c  )

Definition at line 669 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [58/111]

X ( and  )

Definition at line 670 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [59/111]

X ( and_c  )

Definition at line 671 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [60/111]

X ( addu  )

Definition at line 672 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [61/111]

X ( addu_s2r0  )

Definition at line 673 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [62/111]

X ( lda_reg_2  )

Definition at line 674 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [63/111]

X ( lda_reg_4  )

Definition at line 675 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [64/111]

X ( lda_reg_8  )

Definition at line 676 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [65/111]

X ( subu  )

Definition at line 677 of file cpu_m88k_instr.cc.

References ic, and reg.

◆ X() [66/111]

X ( add  )

Definition at line 678 of file cpu_m88k_instr.cc.

References ic, m88k_exception(), M88K_EXCEPTION_INTEGER_OVERFLOW, reg, and SYNCH_PC.

◆ X() [67/111]

X ( mul  )

◆ X() [68/111]

X ( divu  )

◆ X() [69/111]

X ( div  )

◆ X() [70/111]

X ( addu_co  )

Definition at line 729 of file cpu_m88k_instr.cc.

References cpu::cd, m88k_cpu::cr, ic, cpu::m88k, M88K_CR_PSR, M88K_PSR_C, and reg.

◆ X() [71/111]

X ( addu_ci  )

Definition at line 738 of file cpu_m88k_instr.cc.

References cpu::cd, m88k_cpu::cr, ic, cpu::m88k, M88K_CR_PSR, M88K_PSR_C, and reg.

◆ X() [72/111]

X ( subu_co  )

Definition at line 745 of file cpu_m88k_instr.cc.

References cpu::cd, m88k_cpu::cr, ic, cpu::m88k, M88K_CR_PSR, M88K_PSR_C, and reg.

◆ X() [73/111]

X ( subu_ci  )

Definition at line 754 of file cpu_m88k_instr.cc.

References cpu::cd, m88k_cpu::cr, ic, cpu::m88k, M88K_CR_PSR, M88K_PSR_C, and reg.

◆ X() [74/111]

X ( ldcr  )

◆ X() [75/111]

X ( fldcr  )

◆ X() [76/111]

X ( stcr  )

◆ X() [77/111]

X ( fstcr  )

◆ X() [78/111]

X ( fadd_sss  )

◆ X() [79/111]

X ( fadd_dsd  )

◆ X() [80/111]

X ( fadd_dds  )

◆ X() [81/111]

X ( fadd_ddd  )

◆ X() [82/111]

X ( fsub_sds  )

◆ X() [83/111]

X ( fsub_dss  )

◆ X() [84/111]

X ( fsub_dsd  )

◆ X() [85/111]

X ( fsub_dds  )

◆ X() [86/111]

X ( fsub_ddd  )

◆ X() [87/111]

X ( fmul_sss  )

◆ X() [88/111]

X ( fmul_dss  )

◆ X() [89/111]

X ( fmul_dsd  )

◆ X() [90/111]

X ( fmul_dds  )

◆ X() [91/111]

X ( fmul_ddd  )

◆ X() [92/111]

X ( fdiv_sss  )

◆ X() [93/111]

X ( fdiv_dsd  )

◆ X() [94/111]

X ( fdiv_ddd  )

◆ X() [95/111]

X ( fcmp_sds  )

◆ X() [96/111]

X ( fcmp_sdd  )

◆ X() [97/111]

X ( flt_ss  )

◆ X() [98/111]

X ( flt_ds  )

◆ X() [99/111]

X ( trnc_ss  )

◆ X() [100/111]

X ( trnc_sd  )

◆ X() [101/111]

X ( xcr  )

◆ X() [102/111]

X ( rte  )

◆ X() [103/111]

X ( xmem_slow  )

◆ X() [104/111]

X ( prom_call  )

◆ X() [105/111]

X ( tb0  )

◆ X() [106/111]

X ( tb1  )

◆ X() [107/111]

X ( idle  )

◆ X() [108/111]

X ( idle_with_tb1  )

◆ X() [109/111]

X ( end_of_page  )

◆ X() [110/111]

X ( end_of_page2  )

◆ X() [111/111]

X ( to_be_translated  )

Generated on Fri Dec 7 2018 19:52:23 for GXemul by doxygen 1.8.13