add utf-8 to codepage mapping, change some asm syntax

This commit is contained in:
Redo
2022-11-10 15:24:50 -06:00
parent 2fe0e50942
commit c67a88e7d0
4 changed files with 182 additions and 43 deletions

View File

@@ -5,12 +5,13 @@ hlt F0 1 Halt non-interrupt execution
run F1 1 Resume non-interrupt execution
brk F3 1 Trigger interrupt
irt F4 1 Return from interrupt
nop FF 1 Do nothing
16-bit Inc/Dec (I):
icp 12 1 P++
dcp 15 1 P--
icq 13 1 Q++
dcq 16 1 Q--
inc p 12 1 P++
dec p 15 1 P--
inc q 13 1 Q++
dec q 16 1 Q--
8-bit Unary (U):
inc a 10 1 A++, set flags
@@ -125,16 +126,18 @@ jgt imm8 35 2 I+=imm8 if !Zero & Carry
jle imm8 36 2 I+=imm8 if Zero | !Carry
Stack (S):
pha 40 2 *(S++)=A
phb 44 2 *(S++)=B
phc 45 2 *(S++)=C
php 41 3 *(S++++)=P
phq 46 3 *(S++++)=Q
ppa 42 2 A=*(--S)
ppb 47 2 B=*(--S)
ppc 48 2 C=*(--S)
ppp 43 3 P=*(----S)
ppq 49 3 Q=*(----S)
psh a 40 2 *(S++)=A
psh b 44 2 *(S++)=B
psh c 45 2 *(S++)=C
psh p 41 3 *(S++++)=P
psh q 46 3 *(S++++)=Q
pop a 42 2 A=*(--S)
pop b 47 2 B=*(--S)
pop c 48 2 C=*(--S)
pop p 43 3 P=*(----S)
pop q 49 3 Q=*(----S)
psh imm8 3B 3 *(S++)=imm8
psh imm16 3C 5 *(S++++)=imm16
8-bit Load/Store (B):
lda imm8 20 2 A=imm8, update zero flag
@@ -212,21 +215,26 @@ lda pl 86 1 A=P&FF
lda ph 87 1 A=P>>8
lda ql 88 1 A=Q&FF
lda qh 89 1 A=Q>>8
ldb pl 37 1 B=P&FF
ldc ph 38 1 C=P>>8
ldb ql 39 1 B=Q&FF
ldc qh 3A 1 C=Q>>8
ldp q 8A 1 P=Q
ldp s 8B 1 P=S
ldp v 8C 1 P=V
ldp i 8D 1 P=I
ldp cb 91 1 P=C<<8+B
ldp cb 91 1 P=(C<<8)+B
ldq cb E0 1 Q=(C<<8)+B
ldq p 8E 1 Q=P
lds p 8F 1 S=P
ldv p 90 1 V=P
Opcodes used: 207/255
Opcodes used: 216/255
0123456789ABCDEF
00 | C---------------
10 | UUIIUIIUUUUUUUUU
20 | BWWWAWBBBBBUUUUA
30 | JJJJJJJ-------AA
30 | JJJJJJJMMMMSSSAA
40 | SSSSSSSSSSXXXAAA
50 | BBBBBBBBBBBBBBBB
60 | JBBJJJJJWWWWWWWW
@@ -237,5 +245,5 @@ A0 | AAAAAAAAAAAAAAAA
B0 | AAAAAAAAAAAAAAAA
C0 | BBBBBBBBBBBBWWWW
D0 | AAAAAAAAAAAAAAAA
E0 | ----------------
F0 | CCCCC-----------
E0 | M---------------
F0 | CCCCC----------C