mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-18 16:30:29 +00:00
State intention to merge status with other registers.
This commit is contained in:
parent
a3339cf882
commit
b676153d21
@ -35,7 +35,9 @@ enum class Mode {
|
|||||||
Supervisor = 0b11,
|
Supervisor = 0b11,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Status {
|
/// Combines the ARM registers and status flags into a single whole, given that the architecture
|
||||||
|
/// doesn't have the same degree of separation as others.
|
||||||
|
struct Registers {
|
||||||
public:
|
public:
|
||||||
/// Sets the N and Z flags according to the value of @c result.
|
/// Sets the N and Z flags according to the value of @c result.
|
||||||
void set_nz(uint32_t value) {
|
void set_nz(uint32_t value) {
|
@ -1335,7 +1335,7 @@
|
|||||||
4B1EDB431E39A0AC009D6819 /* chip.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chip.png; sourceTree = "<group>"; };
|
4B1EDB431E39A0AC009D6819 /* chip.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chip.png; sourceTree = "<group>"; };
|
||||||
4B2005402B804AA300420C5C /* OperationMapper.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = OperationMapper.hpp; sourceTree = "<group>"; };
|
4B2005402B804AA300420C5C /* OperationMapper.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = OperationMapper.hpp; sourceTree = "<group>"; };
|
||||||
4B2005422B804D6400420C5C /* ARMDecoderTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ARMDecoderTests.mm; sourceTree = "<group>"; };
|
4B2005422B804D6400420C5C /* ARMDecoderTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ARMDecoderTests.mm; sourceTree = "<group>"; };
|
||||||
4B2005462B8BD7A500420C5C /* Status.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Status.hpp; sourceTree = "<group>"; };
|
4B2005462B8BD7A500420C5C /* Registers.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Registers.hpp; sourceTree = "<group>"; };
|
||||||
4B2130E0273A7A0A008A77B4 /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = "<group>"; };
|
4B2130E0273A7A0A008A77B4 /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = "<group>"; };
|
||||||
4B2130E1273A7A0A008A77B4 /* Audio.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Audio.hpp; sourceTree = "<group>"; };
|
4B2130E1273A7A0A008A77B4 /* Audio.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Audio.hpp; sourceTree = "<group>"; };
|
||||||
4B228CD424D773B30077EF25 /* CSScanTarget.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CSScanTarget.mm; sourceTree = "<group>"; };
|
4B228CD424D773B30077EF25 /* CSScanTarget.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CSScanTarget.mm; sourceTree = "<group>"; };
|
||||||
@ -2760,7 +2760,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4B2005402B804AA300420C5C /* OperationMapper.hpp */,
|
4B2005402B804AA300420C5C /* OperationMapper.hpp */,
|
||||||
4B2005462B8BD7A500420C5C /* Status.hpp */,
|
4B2005462B8BD7A500420C5C /* Registers.hpp */,
|
||||||
);
|
);
|
||||||
path = ARM;
|
path = ARM;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#import <XCTest/XCTest.h>
|
#import <XCTest/XCTest.h>
|
||||||
|
|
||||||
#include "../../../InstructionSets/ARM/OperationMapper.hpp"
|
#include "../../../InstructionSets/ARM/OperationMapper.hpp"
|
||||||
#include "../../../InstructionSets/ARM/Status.hpp"
|
#include "../../../InstructionSets/ARM/Registers.hpp"
|
||||||
#include "../../../Numeric/Carry.hpp"
|
#include "../../../Numeric/Carry.hpp"
|
||||||
|
|
||||||
using namespace InstructionSet::ARM;
|
using namespace InstructionSet::ARM;
|
||||||
@ -270,7 +270,7 @@ struct Scheduler {
|
|||||||
void unknown(uint32_t) {}
|
void unknown(uint32_t) {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Status status;
|
Registers status;
|
||||||
|
|
||||||
uint32_t registers_[16]; // TODO: register swaps with mode.
|
uint32_t registers_[16]; // TODO: register swaps with mode.
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user