Cleanup of the set and clear p flag instructions

This commit is contained in:
Preston Skupinski 2012-01-05 19:29:50 -05:00
parent 2d50806882
commit 0def76f12a

69
cpu.js
View File

@ -19,6 +19,13 @@
var cpu_lib = { var cpu_lib = {
r: { r: {
p: { p: {
Flag_set: function(flag, value) {
this.bytes_required = function() { return 1; };
this.execute = function(cpu) {
cpu.cycle_count+=2;
cpu.p[flag] = value;
};
},
check_z: function(cpu, val) { check_z: function(cpu, val) {
if(val===0) { if(val===0) {
cpu.p.z = 1; cpu.p.z = 1;
@ -3379,67 +3386,19 @@ var XCE = {
} }
}; };
var CLC = { var CLC = new cpu_lib.r.p.Flag_set('c', 0);
bytes_required: function() { return 1; },
execute: function(cpu) {
cpu.cycle_count+=2;
cpu.p.c = 0;
}
};
var SEI = { var SEC = new cpu_lib.r.p.Flag_set('c', 1);
bytes_required: function() { return 1; },
execute: function(cpu) {
cpu.cycle_count+=2;
cpu.p.i = 1;
}
};
var CLI = { var CLI = new cpu_lib.r.p.Flag_set('i', 0);
bytes_required: function() { return 1; },
execute: function(cpu) {
cpu.cycle_count+=2;
cpu.p.i = 0;
}
};
var SEC = { var SEI = new cpu_lib.r.p.Flag_set('i', 1);
bytes_required: function() { return 1; },
execute: function(cpu) {
cpu.cycle_count+=2;
cpu.p.c = 1;
}
};
var CLD = { var CLD = new cpu_lib.r.p.Flag_set('d', 0);
bytes_required:function() {
return 1;
},
execute:function(cpu) {
cpu.cycle_count+=2;
cpu.p.d = 0;
}
};
var SED = { var SED = new cpu_lib.r.p.Flag_set('d', 1);
bytes_required:function() {
return 1;
},
execute:function(cpu) {
cpu.cycle_count+=2;
cpu.p.d = 1;
}
};
var CLV = { var CLV = new cpu_lib.r.p.Flag_set('v', 0);
bytes_required:function() {
return 1;
},
execute:function(cpu) {
cpu.cycle_count+=2;
cpu.p.v = 0;
}
};
var XBA = { var XBA = {
bytes_required:function() { bytes_required:function() {