summaryrefslogtreecommitdiff
path: root/src/cpu/addressing.h
blob: 2c9c63a826ff6d4564f2e7558b72ac606ec7ef1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//	addressing.h
//	Contains definitions relevant to addressing, as well as fAddress() which returns time, length, value, and address for an instruction function call.

#ifndef ADDRESSING_H
#define ADDRESSING_H

#include"core.h"
#include"6502.h"
#include"instructions.h"

//Holds address of current instruction.
void* current_instruction;

#define getInstructionLength(c) fAddressGetLength(*getInstructionTableAddressing(c))


address fAddressGetAddress (Addressing mode, short x              );
int     fAddressGetLength  (Addressing mode                       );
byte    fAddressGetValue   (Addressing mode, short x, address addr);
int     fAddressGetCycles  (Addressing mode, short x, address addr);
AddData fAddress           (Addressing mode, short x);

#endif