projects
/
b43-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fwcutter: Bump version
[b43-tools.git]
/
disassembler
/
main.c
diff --git
a/disassembler/main.c
b/disassembler/main.c
index e3ef87f7876690e518c5abdb2c432d5acdf155fa..eecea39d70d2f1e33eb68a489303b5a7a75211ab 100644
(file)
--- a/
disassembler/main.c
+++ b/
disassembler/main.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2006-2010 Michael Buesch <m
b@bu3sch.de
>
+ * Copyright (C) 2006-2010 Michael Buesch <m
@bues.ch
>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@
-284,6
+284,12
@@
static void disasm_constant_opcodes(struct disassembler_context *ctx,
struct bin_instruction *bin = stmt->u.insn.bin;
switch (bin->opcode) {
struct bin_instruction *bin = stmt->u.insn.bin;
switch (bin->opcode) {
+ case 0x101:
+ stmt->u.insn.name = "mul";
+ disasm_std_operand(stmt, 0, 0);
+ disasm_std_operand(stmt, 1, 1);
+ disasm_std_operand(stmt, 2, 2);
+ break;
case 0x1C0:
stmt->u.insn.name = "add";
disasm_std_operand(stmt, 0, 0);
case 0x1C0:
stmt->u.insn.name = "add";
disasm_std_operand(stmt, 0, 0);
@@
-457,28
+463,28
@@
static void disasm_constant_opcodes(struct disassembler_context *ctx,
disasm_std_operand(stmt, 1, 1);
break;
case 0x0D6:
disasm_std_operand(stmt, 1, 1);
break;
case 0x0D6:
- stmt->u.insn.name = "
@D6"; /* FIXME */
+ stmt->u.insn.name = "
jdn";
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case (0x0D6 | 0x1):
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case (0x0D6 | 0x1):
- stmt->u.insn.name = "
@D7"; /* FIXME */
+ stmt->u.insn.name = "
jdpz";
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case 0x0D8:
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case 0x0D8:
- stmt->u.insn.name = "
@D8"; /* FIXME */
+ stmt->u.insn.name = "
jdp";
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case (0x0D8 | 0x1):
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
disasm_std_operand(stmt, 1, 1);
break;
case (0x0D8 | 0x1):
- stmt->u.insn.name = "
@D9"; /* FIXME */
+ stmt->u.insn.name = "
jdnz";
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
stmt->u.insn.labelref_operand = 2;
stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
disasm_std_operand(stmt, 0, 0);
@@
-871,7
+877,7
@@
static int read_input(struct disassembler_context *ctx)
size_t ret;
struct bin_instruction *code = NULL;
unsigned char tmp[sizeof(uint64_t)];
size_t ret;
struct bin_instruction *code = NULL;
unsigned char tmp[sizeof(uint64_t)];
- uint64_t codeword;
+ uint64_t codeword
= 0
;
struct fw_header hdr;
int err;
struct fw_header hdr;
int err;