forked from jdah/jdh-8
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmicrocode.asm
129 lines (110 loc) · 1.23 KB
/
microcode.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
; JDH-8 MICROCODE V0.1
; FOR LOGISIM CIRCUIT, NON-74
@microcode
mw:
.const:
eop1, ~sel, lreg
.reg:
ereg, sel, ldx
ealu, ~sel, lreg
lw:
.const:
aimm, ~sel, eram, lreg
.reg:
ahl, ~sel, eram, lreg
sw:
.const:
aimm, ~sel, ereg, lram
.reg:
ahl, ~sel, ereg, lram
push:
.const:
asp, eop1, lram
spdec
.reg:
asp, ~sel, ereg, lram
spdec
pop:
.const:
.reg:
spinc
asp, ~sel, eram, lreg
lda:
.const:
eop1, ldl
eop2, ldh
.reg:
jnz:
.const:
eop1, jnz
.reg:
~sel, ereg, jnz
inb:
.const:
eop1, lprt
edev, ~sel, lreg
.reg:
sel, ereg, lprt
edev, ~sel, lreg
outb:
.const:
eop1, lprt
~sel, ereg, ldev
.reg:
sel, ereg, lprt
~sel, ereg, ldev
cmp:
.const:
~sel, ereg, ldx
eop1, ldy
ldf
.reg:
~sel, ereg, ldx
sel, ereg, ldy
ldf
@macro
a_const:
~sel, ereg, ldx
eop1, ldy
~sel, ealu, lreg
@macro
a_reg:
~sel, ereg, ldx
sel, ereg, ldy
~sel, ealu, lreg
add:
.const:
a_const
ldf
.reg:
a_reg
ldf
adc:
.const:
a_const
ldf
.reg:
a_reg
ldf
and:
.const:
a_const
.reg:
a_reg
or:
.const:
a_const
.reg:
a_reg
nor:
.const:
a_const
.reg:
a_reg
sbb:
.const:
a_const
ldf
.reg:
a_reg
ldf