add bitshifts, make 8bit loads update zero flag
This commit is contained in:
@@ -49,6 +49,11 @@ and imm8 74 2 A&=imm8, set zero flag
|
||||
ior imm8 75 2 A|=imm8, set zero flag
|
||||
xor imm8 76 2 A^=imm8, set zero flag
|
||||
ann imm8 77 2 A&=~imm8, set zero flag
|
||||
shl imm8 D0 2 A<<=imm8, set zero flag
|
||||
shr imm8 D1 2 A>>=imm8, set zero flag
|
||||
rol imm8 D2 2 A<<<=imm8, set zero flag
|
||||
ror imm8 D3 2 A>>>=imm8, set zero flag
|
||||
sra imm8 D4 2 A>>a=imm8, set zero flag
|
||||
add *s+imm8 AE 3 A+=*(S+imm8), set flags
|
||||
adb *s+imm8 9B 3 B+=*(S+imm8), set flags
|
||||
adc *s+imm8 9C 3 C+=*(S+imm8), set flags
|
||||
@@ -62,6 +67,11 @@ and *s+imm8 B1 3 A&=*(S+imm8), set zero flag
|
||||
ior *s+imm8 B2 3 A|=*(S+imm8), set zero flag
|
||||
xor *s+imm8 B3 3 A^=*(S+imm8), set zero flag
|
||||
ann *s+imm8 B4 3 A&=~*(S+imm8), set zero flag
|
||||
shl *s+imm8 D5 3 A<<=*(S+imm8), set zero flag
|
||||
shr *s+imm8 D6 3 A<<=*(S+imm8), set zero flag
|
||||
rol *s+imm8 D7 3 A<<<=*(S+imm8), set zero flag
|
||||
ror *s+imm8 D8 3 A>>>=*(S+imm8), set zero flag
|
||||
sra *s+imm8 D9 3 A>>a=*(S+imm8), set zero flag
|
||||
add b A0 1 A+=B, set flags
|
||||
adc b 9F 1 C+=B, set flags
|
||||
sub b A1 1 A-=B, set flags
|
||||
@@ -73,6 +83,11 @@ and b A3 1 A&=B, set zero flag
|
||||
ior b A4 1 A|=B, set zero flag
|
||||
xor b A5 1 A^=B, set zero flag
|
||||
ann b A6 1 A&=~B, set zero flag
|
||||
shl b DA 1 A<<=B, set zero flag
|
||||
shr b DB 1 A>>=B, set zero flag
|
||||
rol b DC 1 A<<<=B, set zero flag
|
||||
ror b DD 1 A>>>=B, set zero flag
|
||||
sra b DE 1 A>>a=B, set zero flag
|
||||
add c A7 1 A+=C, set flags
|
||||
adb c BD 1 B+=C, set flags
|
||||
sub c A8 1 A-=C, set flags
|
||||
@@ -84,6 +99,11 @@ 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
|
||||
shl c DF 1 A<<=C, set zero flag
|
||||
shr c 4D 1 A>>=C, set zero flag
|
||||
rol c 3E 1 A<<<=C, set zero flag
|
||||
ror c 3F 1 A>>>=C, set zero flag
|
||||
sra c 2F 1 A>>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
|
||||
@@ -117,18 +137,18 @@ ppp 43 3 P=*(----S)
|
||||
ppq 49 3 Q=*(----S)
|
||||
|
||||
8-bit Load/Store (B):
|
||||
lda imm8 20 2 A=imm8
|
||||
ldb imm8 26 2 B=imm8
|
||||
ldc imm8 27 2 C=imm8
|
||||
lda *s+imm8 28 3 A=*s+imm8
|
||||
ldb *s+imm8 29 3 B=*s+imm8
|
||||
ldc *s+imm8 2A 3 C=*s+imm8
|
||||
lda imm8 20 2 A=imm8, update zero flag
|
||||
ldb imm8 26 2 B=imm8, update zero flag
|
||||
ldc imm8 27 2 C=imm8, update zero flag
|
||||
lda *s+imm8 28 3 A=*s+imm8, update zero flag
|
||||
ldb *s+imm8 29 3 B=*s+imm8, update zero flag
|
||||
ldc *s+imm8 2A 3 C=*s+imm8, update zero flag
|
||||
sta *s+imm8 96 3 *s+imm8=A
|
||||
stb *s+imm8 97 3 *s+imm8=B
|
||||
stc *s+imm8 98 3 *s+imm8=C
|
||||
lda *imm16 51 4 A=*imm16
|
||||
ldb *imm16 56 4 B=*imm16
|
||||
ldc *imm16 57 4 C=*imm16
|
||||
lda *imm16 51 4 A=*imm16, update zero flag
|
||||
ldb *imm16 56 4 B=*imm16, update zero flag
|
||||
ldc *imm16 57 4 C=*imm16, update zero flag
|
||||
sta *imm16 50 4 *imm16=A
|
||||
stb *imm16 58 4 *imm16=B
|
||||
stc *imm16 59 4 *imm16=C
|
||||
@@ -138,24 +158,24 @@ stc *p 5B 2 *P=C
|
||||
sta *q 54 2 *Q=A
|
||||
stb *q 5C 2 *Q=B
|
||||
stc *q 5D 2 *Q=C
|
||||
lda *p 53 2 A=*P
|
||||
ldb *p 5E 2 B=*P
|
||||
ldc *p 5F 2 C=*P
|
||||
lda *q 55 2 A=*Q
|
||||
ldb *q 61 2 B=*Q
|
||||
ldc *q 62 2 C=*Q
|
||||
lda *p 53 2 A=*P, update zero flag
|
||||
ldb *p 5E 2 B=*P, update zero flag
|
||||
ldc *p 5F 2 C=*P, update zero flag
|
||||
lda *q 55 2 A=*Q, update zero flag
|
||||
ldb *q 61 2 B=*Q, update zero flag
|
||||
ldc *q 62 2 C=*Q, update zero flag
|
||||
sta *p++ C0 2 *P++=A
|
||||
stb *p++ C1 2 *P++=B
|
||||
stc *p++ C2 2 *P++=C
|
||||
sta *q++ C3 2 *Q++=A
|
||||
stb *q++ C4 2 *Q++=B
|
||||
stc *q++ C5 2 *Q++=C
|
||||
lda *p++ C6 2 A=*P++
|
||||
ldb *p++ C7 2 B=*P++
|
||||
ldc *p++ C8 2 C=*P++
|
||||
lda *q++ C9 2 A=*Q++
|
||||
ldb *q++ CA 2 B=*Q++
|
||||
ldc *q++ CB 2 C=*Q++
|
||||
lda *p++ C6 2 A=*P++, update zero flag
|
||||
ldb *p++ C7 2 B=*P++, update zero flag
|
||||
ldc *p++ C8 2 C=*P++, update zero flag
|
||||
lda *q++ C9 2 A=*Q++, update zero flag
|
||||
ldb *q++ CA 2 B=*Q++, update zero flag
|
||||
ldc *q++ CB 2 C=*Q++, update zero flag
|
||||
|
||||
16-bit Load/Store (W):
|
||||
ldp imm16 21 3 P=imm16
|
||||
@@ -201,13 +221,13 @@ ldq p 8E 1 Q=P
|
||||
lds p 8F 1 S=P
|
||||
ldv p 90 1 V=P
|
||||
|
||||
Opcodes used: 187/255
|
||||
Opcodes used: 207/255
|
||||
0123456789ABCDEF
|
||||
00 | C---------------
|
||||
10 | UUIIUIIUUUUUUUUU
|
||||
20 | BWWWAWBBBBBUUUU-
|
||||
30 | JJJJJJJ---------
|
||||
40 | SSSSSSSSSSXXX-AA
|
||||
20 | BWWWAWBBBBBUUUUA
|
||||
30 | JJJJJJJ-------AA
|
||||
40 | SSSSSSSSSSXXXAAA
|
||||
50 | BBBBBBBBBBBBBBBB
|
||||
60 | JBBJJJJJWWWWWWWW
|
||||
70 | AAAAAAAAAAWWWWWW
|
||||
@@ -216,6 +236,6 @@ Opcodes used: 187/255
|
||||
A0 | AAAAAAAAAAAAAAAA
|
||||
B0 | AAAAAAAAAAAAAAAA
|
||||
C0 | BBBBBBBBBBBBWWWW
|
||||
D0 | ----------------
|
||||
D0 | AAAAAAAAAAAAAAAA
|
||||
E0 | ----------------
|
||||
F0 | CCCCC-----------
|
||||
|
||||
Reference in New Issue
Block a user