Annotation of nono/m88xx0/instructions.txt, revision 1.1.1.3

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.