b43-asm, b43-dasm: Add 5 new instructions.
[b43-tools.git] / assembler / main.c
index f4ee51dd393281cbd4b894087222e79056c6d4b0..afca996a1269160e7b9b92ae6a295d2e1822934b 100644 (file)
@@ -737,6 +737,9 @@ static void assemble_instruction(struct assembler_context *ctx,
        unsigned int opcode;
 
        switch (insn->op) {
+       case OP_MUL:
+               do_assemble_insn(ctx, insn, 0x101);
+               break;
        case OP_ADD:
                do_assemble_insn(ctx, insn, 0x1C0);
                break;
@@ -855,6 +858,22 @@ static void assemble_instruction(struct assembler_context *ctx,
                out = do_assemble_insn(ctx, insn, 0x0DC | 0x1);
                out->is_jump_insn = 1;
                break;
+       case OP_JDN:
+               out = do_assemble_insn(ctx, insn, 0x0D6);
+               out->is_jump_insn = 1;
+               break;
+       case OP_JDPZ:
+               out = do_assemble_insn(ctx, insn, 0x0D6 | 0x1);
+               out->is_jump_insn = 1;
+               break;
+       case OP_JDP:
+               out = do_assemble_insn(ctx, insn, 0x0D8);
+               out->is_jump_insn = 1;
+               break;
+       case OP_JDNZ:
+               out = do_assemble_insn(ctx, insn, 0x0D8 | 0x1);
+               out->is_jump_insn = 1;
+               break;
        case OP_JZX:
                opcode = merge_ext_into_opcode(ctx, 0x400, insn);
                out = do_assemble_insn(ctx, insn, opcode);