|
|
1.1 root 1: ;
2: ; nono
1.1.1.2 root 3: ; Copyright (C) 2020 nono project
4: ; Licensed under nono-license.txt
1.1 root 5: ;
6:
7: ; 一応雰囲気が分かる程度に記号を使い分けているが、処理としては
8: ; 全部 0/1 にマッピングするだけなのであまり気にしなくてよい。
9: ; n .. 汎用で 0/1 を取るビット
10: ; D .. Destination Register
11: ; S .. Source1 Register
12: ; s .. Source2 Register
13: ; z .. 0で予約されているが、実際には 88100 がデコードしないビット
14:
15: 000000_DDDDDSSSSS_nnnnnn_nnnnnnnnnn xmem_bu_imm
16: 000001_DDDDDSSSSS_nnnnnn_nnnnnnnnnn xmem_w_imm
17: 000010_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_hu_imm
18: 000011_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_bu_imm
19: 000100_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_d_imm
20: 000101_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_w_imm
21: 000110_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_h_imm
22: 000111_DDDDDSSSSS_nnnnnn_nnnnnnnnnn ld_b_imm
23: 001000_DDDDDSSSSS_nnnnnn_nnnnnnnnnn st_d_imm
24: 001001_DDDDDSSSSS_nnnnnn_nnnnnnnnnn st_w_imm
25: 001010_DDDDDSSSSS_nnnnnn_nnnnnnnnnn st_h_imm
26: 001011_DDDDDSSSSS_nnnnnn_nnnnnnnnnn st_b_imm
27: 001100_DDDDDSSSSS_nnnnnn_nnnnnnnnnn lda_d_imm
28: 001101_DDDDDSSSSS_nnnnnn_nnnnnnnnnn lda_w_imm
29: 001110_DDDDDSSSSS_nnnnnn_nnnnnnnnnn lda_h_imm
30: 001111_DDDDDSSSSS_nnnnnn_nnnnnnnnnn lda_b_imm
31:
32: 010000_DDDDDSSSSS_nnnnnn_nnnnnnnnnn and_imm
33: 010001_DDDDDSSSSS_nnnnnn_nnnnnnnnnn and_u_imm
34: 010010_DDDDDSSSSS_nnnnnn_nnnnnnnnnn mask_imm
35: 010011_DDDDDSSSSS_nnnnnn_nnnnnnnnnn mask_u_imm
36: 010100_DDDDDSSSSS_nnnnnn_nnnnnnnnnn xor_imm
37: 010101_DDDDDSSSSS_nnnnnn_nnnnnnnnnn xor_u_imm
38: 010110_DDDDDSSSSS_nnnnnn_nnnnnnnnnn or_imm
39: 010111_DDDDDSSSSS_nnnnnn_nnnnnnnnnn or_u_imm
40: 011000_DDDDDSSSSS_nnnnnn_nnnnnnnnnn addu_imm
41: 011001_DDDDDSSSSS_nnnnnn_nnnnnnnnnn subu_imm
42: 011010_DDDDDSSSSS_nnnnnn_nnnnnnnnnn divu_imm
43: 011011_DDDDDSSSSS_nnnnnn_nnnnnnnnnn mul_imm
44: 011100_DDDDDSSSSS_nnnnnn_nnnnnnnnnn add_imm
45: 011101_DDDDDSSSSS_nnnnnn_nnnnnnnnnn sub_imm
46: 011110_DDDDDSSSSS_nnnnnn_nnnnnnnnnn div_imm
47: 011111_DDDDDSSSSS_nnnnnn_nnnnnnnnnn cmp_imm
48:
49: 100000_DDDDDzzzzz_01000n_nnnnnzzzzz ldcr
50: 100000_DDDDDzzzzz_01001n_nnnnnzzzzz fldcr
51: 100000_zzzzzSSSSS_10000n_nnnnnsssss stcr
52: 100000_zzzzzSSSSS_10001n_nnnnnsssss fstcr
53: 100000_DDDDDSSSSS_11000n_nnnnnsssss xcr
54: 100000_DDDDDSSSSS_11001n_nnnnnsssss fxcr
55:
56: 100001_DDDDDSSSSS_00000n_nnnnnsssss fmul
57: 100001_DDDDD00000_001000_000nnsssss flt
58: 100001_DDDDDSSSSS_00101n_nnnnnsssss fadd
59: 100001_DDDDDSSSSS_00110n_nnnnnsssss fsub
60: 100001_DDDDDSSSSS_00111n_nnnnnsssss fcmp
61: 100001_DDDDD00000_010010_0nn00sssss int
62: 100001_DDDDD00000_010100_0nn00sssss nint
63: 100001_DDDDD00000_010110_0nn00sssss trnc
64: 100001_DDDDDSSSSS_01110n_nnnnnsssss fdiv
65:
66: 110000_nnnnnnnnnn_nnnnnn_nnnnnnnnnn br
67: 110001_nnnnnnnnnn_nnnnnn_nnnnnnnnnn br_n
68: 110010_nnnnnnnnnn_nnnnnn_nnnnnnnnnn bsr
69: 110011_nnnnnnnnnn_nnnnnn_nnnnnnnnnn bsr_n
70: 110100_nnnnnSSSSS_nnnnnn_nnnnnnnnnn bb0
71: 110101_nnnnnSSSSS_nnnnnn_nnnnnnnnnn bb0_n
72: 110110_nnnnnSSSSS_nnnnnn_nnnnnnnnnn bb1
73: 110111_nnnnnSSSSS_nnnnnn_nnnnnnnnnn bb1_n
74: 111010_MMMMMSSSSS_nnnnnn_nnnnnnnnnn bcnd
75: 111011_MMMMMSSSSS_nnnnnn_nnnnnnnnnn bcnd_n
76:
77: 111100_DDDDDSSSSS_100000_wwwwwooooo clr_1
78: 111100_DDDDDSSSSS_100010_wwwwwooooo set_1
79: 111100_DDDDDSSSSS_100100_wwwwwooooo ext_1
80: 111100_DDDDDSSSSS_100110_wwwwwooooo extu_1
81: 111100_DDDDDSSSSS_101000_wwwwwooooo mak_1
82: 111100_DDDDDSSSSS_101010_zzzzzooooo rot_1
83:
84: 111100_bbbbbSSSSS_110100_0vvvvvvvvv tb0
85: 111100_bbbbbSSSSS_110110_0vvvvvvvvv tb1
86: 111100_MMMMMSSSSS_111010_0vvvvvvvvv tcnd
87:
88: 111101_DDDDDSSSSS_000000_xU000sssss xmem_bu
89: 111101_DDDDDSSSSS_000001_xU000sssss xmem_w
90: 111101_DDDDDSSSSS_000010_xU000sssss ld_hu
91: 111101_DDDDDSSSSS_000011_xU000sssss ld_bu
92: 111101_DDDDDSSSSS_000100_xU000sssss ld_d
93: 111101_DDDDDSSSSS_000101_xU000sssss ld_w
94: 111101_DDDDDSSSSS_000110_xU000sssss ld_h
95: 111101_DDDDDSSSSS_000111_xU000sssss ld_b
96: 111101_DDDDDSSSSS_001000_xU000sssss st_d
97: 111101_DDDDDSSSSS_001001_xU000sssss st_w
98: 111101_DDDDDSSSSS_001010_xU000sssss st_h
99: 111101_DDDDDSSSSS_001011_xU000sssss st_b
100: 111101_DDDDDSSSSS_001100_xU000sssss lda_d
101: 111101_DDDDDSSSSS_001101_xU000sssss lda_w
102: 111101_DDDDDSSSSS_001110_xU000sssss lda_h
103: 111101_DDDDDSSSSS_001111_xU000sssss lda_b
104:
105: 111101_DDDDDSSSSS_010000_00000sssss and
106: 111101_DDDDDSSSSS_010001_00000sssss and_c
107: 111101_DDDDDSSSSS_010100_00000sssss xor
108: 111101_DDDDDSSSSS_010101_00000sssss xor_c
109: 111101_DDDDDSSSSS_010110_00000sssss or
110: 111101_DDDDDSSSSS_010111_00000sssss or_c
111: 111101_DDDDDSSSSS_011000_nn000sssss addu
112: 111101_DDDDDSSSSS_011001_nn000sssss subu
113: 111101_DDDDDSSSSS_011010_zz000sssss divu
114: 111101_DDDDDSSSSS_011011_zz000sssss mul
115: 111101_DDDDDSSSSS_011100_nn000sssss add
116: 111101_DDDDDSSSSS_011101_nn000sssss sub
117: 111101_DDDDDSSSSS_011110_zz000sssss div
118: 111101_DDDDDSSSSS_011111_zz000sssss cmp
119:
120: 111101_DDDDDSSSSS_100000_00000sssss clr_2
121: 111101_DDDDDSSSSS_100010_00000sssss set_2
122: 111101_DDDDDSSSSS_100100_00000sssss ext_2
123: 111101_DDDDDSSSSS_100110_00000sssss extu_2
124: 111101_DDDDDSSSSS_101000_00000sssss mak_2
125: 111101_DDDDDSSSSS_101010_00000sssss rot_2
126:
127: 111101_zzzzzzzzzz_110000_00000sssss jmp
128: 111101_zzzzzzzzzz_110001_00000sssss jmp_n
129: 111101_zzzzzzzzzz_110010_00000sssss jsr
130: 111101_zzzzzzzzzz_110011_00000sssss jsr_n
1.1.1.2 root 131:
132: 111101_DDDDDzzzzz_111010_00000sssss ff1
133: 111101_DDDDDzzzzz_111011_00000sssss ff0
134:
1.1 root 135: 111101_zzzzzzzzzz_111111_0000000000 rte
136: 111101_zzzzzSSSSS_111110_00000SSSSS tbnd_1
137: 111110_zzzzzSSSSS_nnnnnn_nnnnnnnnnn tbnd_2
138:
1.1.1.3 ! root 139: ;11111_zzzzzzzzzz_000000_0vvvvvvvvv (ブランチ履歴での例外記録用)
1.1 root 140: 111111_zzzzzzzzzz_000011_zzzzzzzzzz getc
141: 111111_zzzzzzzzzz_000100_zzzzzzzzzz putc
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.