add ad/sb b/c a
This commit is contained in:
parent
c1fd3d1d30
commit
ceb4a457f7
@ -84,6 +84,10 @@ and c AA 1 A&=C, set zero flag
|
|||||||
ior c AB 1 A|=C, set zero flag
|
ior c AB 1 A|=C, set zero flag
|
||||||
xor c AC 1 A^=C, set zero flag
|
xor c AC 1 A^=C, set zero flag
|
||||||
ann c AD 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):
|
Jumps (J):
|
||||||
jmp imm16 60 3 I=imm16
|
jmp imm16 60 3 I=imm16
|
||||||
@ -172,10 +176,10 @@ ldp *q 94 3 P=*Q
|
|||||||
ldq *q 95 3 Q=*Q
|
ldq *q 95 3 Q=*Q
|
||||||
stp *q 7C 3 *Q=P
|
stp *q 7C 3 *Q=P
|
||||||
stq *p 7D 3 *P=Q
|
stq *p 7D 3 *P=Q
|
||||||
ldq *p++ CC 3 Q=*P++
|
ldq *p++ CC 3 Q=*P++++
|
||||||
ldp *q++ CD 3 P=*Q++
|
ldp *q++ CD 3 P=*Q++++
|
||||||
stp *q++ CE 3 *Q++=P
|
stp *q++ CE 3 *Q++++=P
|
||||||
stq *p++ CF 3 *P++=Q
|
stq *p++ CF 3 *P++++=Q
|
||||||
|
|
||||||
Moves (M):
|
Moves (M):
|
||||||
lda b 80 1 A=B
|
lda b 80 1 A=B
|
||||||
@ -197,20 +201,20 @@ ldq p 8E 1 Q=P
|
|||||||
lds p 8F 1 S=P
|
lds p 8F 1 S=P
|
||||||
ldv p 90 1 V=P
|
ldv p 90 1 V=P
|
||||||
|
|
||||||
Opcodes used: 183/255
|
Opcodes used: 187/255
|
||||||
0123456789ABCDEF
|
0123456789ABCDEF
|
||||||
00 | C---------------
|
00 | C---------------
|
||||||
10 | UUIIUIIUUUUUUUUU
|
10 | UUIIUIIUUUUUUUUU
|
||||||
20 | BWWWAWBBBBBUUUU-
|
20 | BWWWAWBBBBBUUUU-
|
||||||
30 | JJJJJJJ---------
|
30 | JJJJJJJ---------
|
||||||
40 | SSSSSSSSSSXXX---
|
40 | SSSSSSSSSSXXX-AA
|
||||||
50 | BBBBBBBBBBBBBBBB
|
50 | BBBBBBBBBBBBBBBB
|
||||||
60 | JBBJJJJJWWWWWWWW
|
60 | JBBJJJJJWWWWWWWW
|
||||||
70 | AAAAAAAAAAWWWWWW
|
70 | AAAAAAAAAAWWWWWW
|
||||||
80 | MMMMMMMMMMMMMMMM
|
80 | MMMMMMMMMMMMMMMM
|
||||||
90 | MMWWWWBBBAAAAAAA
|
90 | MMWWWWBBBAAAAAAA
|
||||||
A0 | AAAAAAAAAAAAAAAA
|
A0 | AAAAAAAAAAAAAAAA
|
||||||
B0 | AAAAAAAAAAAAAA--
|
B0 | AAAAAAAAAAAAAAAA
|
||||||
C0 | BBBBBBBBBBBBWWWW
|
C0 | BBBBBBBBBBBBWWWW
|
||||||
D0 | ----------------
|
D0 | ----------------
|
||||||
E0 | ----------------
|
E0 | ----------------
|
||||||
|
@ -187,6 +187,10 @@ instructions = {
|
|||||||
{ mnem="ior c" , opcode=0xAB, {"aluA", "alurC","aluIor", "aluSaveNZ","instrNext"}, desc="A|=C, set zero flag" },
|
{ 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="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="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" },
|
{ category = "Jumps", catlet="J" },
|
||||||
{ mnem="jmp imm16" , opcode=0x60, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"jmpAbsUT" }, desc="I=imm16" },
|
{ mnem="jmp imm16" , opcode=0x60, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"jmpAbsUT" }, desc="I=imm16" },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user