| }); | }); | ||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| it("SBC Immediate"); | |||||
| it("SBC Zero Page"); | |||||
| it("SBC Zero Page, X"); | |||||
| it("SBC Absolute"); | |||||
| it("SBC Absolute, X"); | |||||
| it("SBC Absolute, Y"); | |||||
| it("SBC Indirect, X"); | |||||
| it("SBC Indirect, Y"); | |||||
| it("SBC Immediate", function(){ | |||||
| let res = asm.reset().compile("SBC #$44").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0xE9); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Zero Page", function(){ | |||||
| let res = asm.reset().compile("SBC $44").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0xE5); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Zero Page, X", function(){ | |||||
| let res = asm.reset().compile("SBC $44,X").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0xF5); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Absolute", function(){ | |||||
| let res = asm.reset().compile("SBC $4400").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0xED); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Absolute, X", function(){ | |||||
| let res = asm.reset().compile("SBC $4400,X").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0xFD); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Absolute, Y", function(){ | |||||
| let res = asm.reset().compile("SBC $4400,Y").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0xF9); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Indirect, X", function(){ | |||||
| let res = asm.reset().compile("SBC ($44,X)").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0xE1); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("SBC Indirect, Y", function(){ | |||||
| let res = asm.reset().compile("SBC ($44),Y").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0xF1); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| it("STA Zero Page"); | |||||
| it("STA Zero Page, X"); | |||||
| it("STA Absolute"); | |||||
| it("STA Absolute, X"); | |||||
| it("STA Absolute, Y"); | |||||
| it("STA Indirect, X"); | |||||
| it("STA Indirect, Y"); | |||||
| it("STA Zero Page", function(){ | |||||
| let res = asm.reset().compile("STA $44").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x85); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Zero Page, X", function(){ | |||||
| let res = asm.reset().compile("STA $44,X").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x95); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Absolute", function(){ | |||||
| let res = asm.reset().compile("STA $4400").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0x8D); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Absolute, X", function(){ | |||||
| let res = asm.reset().compile("STA $4400,X").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0x9D); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Absolute, Y", function(){ | |||||
| let res = asm.reset().compile("STA $4400,Y").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0x99); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Indirect, X", function(){ | |||||
| let res = asm.reset().compile("STA ($44,X)").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x81); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STA Indirect, Y", function(){ | |||||
| let res = asm.reset().compile("STA ($44),Y").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x91); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| it("PHA", function(){ | it("PHA", function(){ | ||||
| asm.reset(); | asm.reset(); | ||||
| }); | }); | ||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| it("STX Zero Page"); | |||||
| it("STX Zero Page, Y"); | |||||
| it("STX Absolute"); | |||||
| it("STX Zero Page", function(){ | |||||
| let res = asm.reset().compile("STX $44").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x86); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STX Zero Page, Y", function(){ | |||||
| let res = asm.reset().compile("STX $44, Y").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x96); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STX Absolute", function(){ | |||||
| let res = asm.reset().compile("STX $4400").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0x8E); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| it("STY Zero Page"); | |||||
| it("STY Zero Page, X"); | |||||
| it("STY Absolute"); | |||||
| it("STY Zero Page", function(){ | |||||
| let res = asm.reset().compile("STY $44").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x84); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STY Zero Page, X", function(){ | |||||
| let res = asm.reset().compile("sty $44,x").result(); | |||||
| expect(res.length).to.equal(2); | |||||
| expect(res[0]).to.equal(0x94); | |||||
| expect(res[1]).to.equal(0x44); | |||||
| }); | |||||
| it("STY Absolute", function(){ | |||||
| let res = asm.reset().compile("STY $4400").result(); | |||||
| expect(res.length).to.equal(3); | |||||
| expect(res[0]).to.equal(0x8C); | |||||
| expect(res[1]).to.equal(0x00); | |||||
| expect(res[2]).to.equal(0x44); | |||||
| }); | |||||
| // ------------------------------------------------------------- | // ------------------------------------------------------------- | ||||
| }); | }); |