remake assembler with customasm, misc, need to clean up
This commit is contained in:
@@ -129,10 +129,10 @@ rts E1 3 I=*(----S)+1
|
||||
jpr imm8 31 2 I+=imm8
|
||||
jnz imm8 30 2 I+=imm8 if !Zero
|
||||
jpz imm8 32 2 I+=imm8 if Zero
|
||||
jge imm8 33 2 I+=imm8 if !Carry
|
||||
jlt imm8 34 2 I+=imm8 if Carry
|
||||
jgt imm8 35 2 I+=imm8 if !Zero & !Carry
|
||||
jle imm8 36 2 I+=imm8 if Zero | Carry
|
||||
jlt imm8 33 2 I+=imm8 if !Carry
|
||||
jge imm8 34 2 I+=imm8 if Carry
|
||||
jgt imm8 35 2 I+=imm8 if !Zero & Carry
|
||||
jle imm8 36 2 I+=imm8 if Zero | !Carry
|
||||
|
||||
Stack (S):
|
||||
psh a 40 2 *(S++)=A
|
||||
@@ -166,30 +166,42 @@ 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
|
||||
sta *p 52 2 *P=A
|
||||
stb *p 5A 2 *P=B
|
||||
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+imm16 01 4 A=*P+imm16, update zero flag
|
||||
ldb *p+imm16 F7 4 B=*P+imm16, update zero flag
|
||||
ldc *p+imm16 FE 4 C=*P+imm16, update zero flag
|
||||
lda *q+imm16 EB 4 A=*Q+imm16, update zero flag
|
||||
ldb *q+imm16 08 4 B=*Q+imm16, update zero flag
|
||||
ldc *q+imm16 09 4 C=*Q+imm16, update zero flag
|
||||
sta *p+imm16 0A 4 *P+imm16=A
|
||||
stb *p+imm16 0B 4 *P+imm16=B
|
||||
stc *p+imm16 0C 4 *P+imm16=C
|
||||
sta *q+imm16 0D 4 *Q+imm16=A
|
||||
stb *q+imm16 0E 4 *Q+imm16=B
|
||||
stc *q+imm16 0F 4 *Q+imm16=C
|
||||
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
|
||||
sta *p 52 2 *P=A
|
||||
stb *p 5A 2 *P=B
|
||||
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++ 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
|
||||
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
|
||||
|
||||
16-bit Load/Store (W):
|
||||
ldp imm16 21 3 P=imm16
|
||||
@@ -204,6 +216,12 @@ ldp *imm16 68 5 P=*imm16
|
||||
ldq *imm16 6A 5 Q=*imm16
|
||||
stp *imm16 6C 5 *imm16=P
|
||||
stq *imm16 6E 5 *imm16=Q
|
||||
ldp *p+imm16 EC 5 P=*P+imm16
|
||||
ldq *p+imm16 EE 5 Q=*P+imm16
|
||||
ldp *q+imm16 F8 5 P=*Q+imm16
|
||||
ldq *q+imm16 FA 5 Q=*Q+imm16
|
||||
stq *p+imm16 06 5 *P+imm16=Q
|
||||
stp *q+imm16 FC 5 *Q+imm16=P
|
||||
ldp *p 92 3 P=*P
|
||||
ldq *p 93 3 Q=*P
|
||||
ldp *q 94 3 P=*Q
|
||||
@@ -240,9 +258,9 @@ ldq p 8E 1 Q=P
|
||||
lds p 8F 1 S=P
|
||||
ldv p 90 1 V=P
|
||||
|
||||
Opcodes used: 228/255
|
||||
Opcodes used: 252/255
|
||||
0123456789ABCDEF
|
||||
00 | C---------------
|
||||
00 | CB----WWBBBBBBBB
|
||||
10 | UUIIUIIUUUUUUUUU
|
||||
20 | BWWWAWBBBBBUUUUA
|
||||
30 | JJJJJJJMMMMSSSAA
|
||||
@@ -256,5 +274,5 @@ A0 | AAAAAAAAAAAAAAAA
|
||||
B0 | AAAAAAAAAAAAAAAA
|
||||
C0 | BBBBBBBBBBBBWWWW
|
||||
D0 | AAAAAAAAAAAAAAAA
|
||||
E0 | MJJJJJXXXSS-----
|
||||
F0 | CCCCCCC--------C
|
||||
E0 | MJJJJJXXXSSBWWWW
|
||||
F0 | CCCCCCCBWWWWWWBC
|
||||
|
||||
Reference in New Issue
Block a user