Basilio/js/ops/generic.ts
2015-01-29 14:10:02 -06:00

21 lines
No EOL
858 B
TypeScript

/// <reference path="../Byte.ts" />
/// <reference path="../LCD.ts" />
/// <reference path="../Memory.ts" />
/// <reference path="../Registers.ts" />
/// <reference path="../TI.ts" />
function IncrementRegister(reg: string) {
if(reg.length == 1) {
var tmp = Registers.byteRegisters[reg];
var over = Registers.byteRegisters[reg].Add(1);
Registers.SetFlag(Flags.ADDSUB, false);
Registers.SetFlag(Flags.ZERO, over.Get() != 0);
Registers.SetFlag(Flags.PARITY, tmp.Test(7) == false && Registers.byteRegisters[reg].Test(7) == true);
Registers.SetFlag(Flags.HALF, (tmp.Get() & 0x0F) == 0x0F);
Registers.SetFlag(Flags.SIGN, Registers.byteRegisters[reg].Test(7));
} else {
var tmp = Registers.GenerateWord(reg[0],reg[1]);
tmp.Add(1);
Registers.SetRegisterPair(reg, tmp);
}
}