]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/tic80/alu.h
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / sim / tic80 / alu.h
CommitLineData
3971886a
AC
1/* Texas Instruments TMS320C80 (MVP) Simulator.
2 Copyright (C) 1997 Free Software Foundation, Inc.
3 Contributed by Cygnus Support.
4
5This file is part of GDB, the GNU debugger.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License along
18with this program; if not, write to the Free Software Foundation, Inc.,
1959 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
20
21
22
15c16493
AC
23#ifndef _TIC80_ALU_H_
24#define _TIC80_ALU_H_
25
26#define ALU_CARRY 0 /* FIXME */
27
15c16493
AC
28#define ALU32_END(TARG) \
29{ \
0a0ecb21
AC
30 (TARG) = ALU32_RESULT; /* FIXME */ \
31}
15c16493
AC
32
33#define ALU_END(TARG) ALU32_END(TARG)
34
3971886a
AC
35#include "sim-alu.h"
36
37
15c16493
AC
38
39/* Bring data in from the cold */
40
37379a25 41#define IMEM32(CIA) \
eefc25e5 42(sim_core_read_aligned_4(STATE_CPU (sd, 0), CIA, exec_map, (CIA).ip))
15c16493 43
37379a25 44#define IMEM32_IMMED(CIA, N) \
eefc25e5 45(sim_core_read_aligned_4 (STATE_CPU (sd, 0), CIA, exec_map, (CIA).ip + 4 * (N)))
4e95b94e 46
15c16493 47#define MEM(SIGN, EA, NR_BYTES) \
7a418800 48((SIGN##_##NR_BYTES) sim_core_read_unaligned_##NR_BYTES (STATE_CPU (sd, 0), cia, \
eefc25e5 49 read_map, \
7a418800 50 (EA)))
15c16493
AC
51
52#define STORE(EA, NR_BYTES, VAL) \
53do { \
7a418800 54 sim_core_write_unaligned_##NR_BYTES (STATE_CPU (sd, 0), cia, \
eefc25e5 55 write_map, \
7a418800 56 (EA), (VAL)); \
15c16493
AC
57} while (0)
58
59
60#define long_immediate(VARIABLE) \
61 unsigned_word VARIABLE = MEM (unsigned, nia.ip, 4); \
9efd3f74 62 cia.dp += sizeof (instruction_word); \
15c16493
AC
63 nia.ip += sizeof (instruction_word); \
64 nia.dp += sizeof (instruction_word);
65
3971886a
AC
66
67
68/* Floating point support */
69
381f42ef
AC
70#define IS_FP_AVAILABLE ((CPU)->cr[IE_CR] & IE_CR_IE)
71
3971886a
AC
72#include "sim-fpu.h"
73
74
15c16493 75#endif