uasm.c (a8e897ad00d3cfd0ab9029978f0c3f8ecd6fba61) | uasm.c (16d21a812f6bfcbfa84ccc19d38abe797c71b73e) |
---|---|
1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * A small micro-assembler. It is intentionally kept simple, does only 7 * support a subset of instructions, and does not try to hide pipeline 8 * effects like branch delay slots. --- 37 unchanged lines hidden (view full) --- 46 insn_invalid, 47 insn_addiu, insn_addu, insn_and, insn_andi, insn_bbit0, insn_bbit1, 48 insn_beq, insn_beql, insn_bgez, insn_bgezl, insn_bltz, insn_bltzl, 49 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm, 50 insn_divu, insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll, 51 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret, 52 insn_ext, insn_ins, insn_j, insn_jal, insn_jalr, insn_jr, insn_ld, 53 insn_ldx, insn_lh, insn_ll, insn_lld, insn_lui, insn_lw, insn_lwx, | 1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * A small micro-assembler. It is intentionally kept simple, does only 7 * support a subset of instructions, and does not try to hide pipeline 8 * effects like branch delay slots. --- 37 unchanged lines hidden (view full) --- 46 insn_invalid, 47 insn_addiu, insn_addu, insn_and, insn_andi, insn_bbit0, insn_bbit1, 48 insn_beq, insn_beql, insn_bgez, insn_bgezl, insn_bltz, insn_bltzl, 49 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm, 50 insn_divu, insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll, 51 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret, 52 insn_ext, insn_ins, insn_j, insn_jal, insn_jalr, insn_jr, insn_ld, 53 insn_ldx, insn_lh, insn_ll, insn_lld, insn_lui, insn_lw, insn_lwx, |
54 insn_mfc0, insn_mfhi, insn_mtc0, insn_mul, insn_or, insn_ori, insn_pref, 55 insn_rfe, insn_rotr, insn_sc, insn_scd, insn_sd, insn_sll, insn_sllv, 56 insn_sltiu, insn_sltu, insn_sra, insn_srl, insn_srlv, insn_subu, 57 insn_sw, insn_sync, insn_syscall, insn_tlbp, insn_tlbr, insn_tlbwi, 58 insn_tlbwr, insn_wait, insn_wsbh, insn_xor, insn_xori, insn_yield, | 54 insn_mfc0, insn_mfhi, insn_mflo, insn_mtc0, insn_mul, insn_or, 55 insn_ori, insn_pref, insn_rfe, insn_rotr, insn_sc, insn_scd, insn_sd, 56 insn_sll, insn_sllv, insn_sltiu, insn_sltu, insn_sra, insn_srl, 57 insn_srlv, insn_subu, insn_sw, insn_sync, insn_syscall, insn_tlbp, 58 insn_tlbr, insn_tlbwi, insn_tlbwr, insn_wait, insn_wsbh, insn_xor, 59 insn_xori, insn_yield, |
59}; 60 61struct insn { 62 enum opcode opcode; 63 u32 match; 64 enum fields fields; 65}; 66 --- 204 unchanged lines hidden (view full) --- 271I_u2s3u1(_ld) 272I_u2s3u1(_lh) 273I_u2s3u1(_ll) 274I_u2s3u1(_lld) 275I_u1s2(_lui) 276I_u2s3u1(_lw) 277I_u1u2u3(_mfc0) 278I_u1(_mfhi) | 60}; 61 62struct insn { 63 enum opcode opcode; 64 u32 match; 65 enum fields fields; 66}; 67 --- 204 unchanged lines hidden (view full) --- 272I_u2s3u1(_ld) 273I_u2s3u1(_lh) 274I_u2s3u1(_ll) 275I_u2s3u1(_lld) 276I_u1s2(_lui) 277I_u2s3u1(_lw) 278I_u1u2u3(_mfc0) 279I_u1(_mfhi) |
280I_u1(_mflo) |
|
279I_u1u2u3(_mtc0) 280I_u3u1u2(_mul) 281I_u2u1u3(_ori) 282I_u3u1u2(_or) 283I_0(_rfe) 284I_u2s3u1(_sc) 285I_u2s3u1(_scd) 286I_u2s3u1(_sd) --- 284 unchanged lines hidden --- | 281I_u1u2u3(_mtc0) 282I_u3u1u2(_mul) 283I_u2u1u3(_ori) 284I_u3u1u2(_or) 285I_0(_rfe) 286I_u2s3u1(_sc) 287I_u2s3u1(_scd) 288I_u2s3u1(_sd) --- 284 unchanged lines hidden --- |