add ad/sb b/c a

This commit is contained in:
Redo 2022-11-01 13:46:18 -06:00
parent c1fd3d1d30
commit ceb4a457f7
2 changed files with 15 additions and 7 deletions

View File

@ -84,6 +84,10 @@ and c AA 1 A&=C, set zero flag
ior c AB 1 A|=C, set zero flag
xor c AC 1 A^=C, set zero flag
ann c AD 1 A&=~C, set zero flag
adb a BE 1 B+=A, set flags
sbb a BF 1 B-=A, set flags
adc a 4E 1 C+=A, set flags
sbc a 4F 1 C-=A, set flags
Jumps (J):
jmp imm16 60 3 I=imm16
@ -172,10 +176,10 @@ ldp *q 94 3 P=*Q
ldq *q 95 3 Q=*Q
stp *q 7C 3 *Q=P
stq *p 7D 3 *P=Q
ldq *p++ CC 3 Q=*P++
ldp *q++ CD 3 P=*Q++
stp *q++ CE 3 *Q++=P
stq *p++ CF 3 *P++=Q
ldq *p++ CC 3 Q=*P++++
ldp *q++ CD 3 P=*Q++++
stp *q++ CE 3 *Q++++=P
stq *p++ CF 3 *P++++=Q
Moves (M):
lda b 80 1 A=B
@ -197,20 +201,20 @@ ldq p 8E 1 Q=P
lds p 8F 1 S=P
ldv p 90 1 V=P
Opcodes used: 183/255
Opcodes used: 187/255
0123456789ABCDEF
00 | C---------------
10 | UUIIUIIUUUUUUUUU
20 | BWWWAWBBBBBUUUU-
30 | JJJJJJJ---------
40 | SSSSSSSSSSXXX---
40 | SSSSSSSSSSXXX-AA
50 | BBBBBBBBBBBBBBBB
60 | JBBJJJJJWWWWWWWW
70 | AAAAAAAAAAWWWWWW
80 | MMMMMMMMMMMMMMMM
90 | MMWWWWBBBAAAAAAA
A0 | AAAAAAAAAAAAAAAA
B0 | AAAAAAAAAAAAAA--
B0 | AAAAAAAAAAAAAAAA
C0 | BBBBBBBBBBBBWWWW
D0 | ----------------
E0 | ----------------

View File

@ -187,6 +187,10 @@ instructions = {
{ mnem="ior c" , opcode=0xAB, {"aluA", "alurC","aluIor", "aluSaveNZ","instrNext"}, desc="A|=C, set zero flag" },
{ mnem="xor c" , opcode=0xAC, {"aluA", "alurC","aluXor", "aluSaveNZ","instrNext"}, desc="A^=C, set zero flag" },
{ mnem="ann c" , opcode=0xAD, {"aluA", "alurC","aluAnd","aluRInv", "aluSaveNZ","instrNext"}, desc="A&=~C, set zero flag" },
{ mnem="adb a" , opcode=0xBE, {"aluB", "alurA","aluAdd", "aluSaveCarry","aluSaveNZ","instrNext"}, desc="B+=A, set flags" },
{ mnem="sbb a" , opcode=0xBF, {"aluB", "alurA","aluAdd","aluRInv","aluCinOn","aluSaveCarry","aluSaveNZ","instrNext"}, desc="B-=A, set flags" },
{ mnem="adc a" , opcode=0x4E, {"aluC", "alurA","aluAdd", "aluSaveCarry","aluSaveNZ","instrNext"}, desc="C+=A, set flags" },
{ mnem="sbc a" , opcode=0x4F, {"aluC", "alurA","aluAdd","aluRInv","aluCinOn","aluSaveCarry","aluSaveNZ","instrNext"}, desc="C-=A, set flags" },
{ category = "Jumps", catlet="J" },
{ mnem="jmp imm16" , opcode=0x60, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"jmpAbsUT" }, desc="I=imm16" },