xref: /aosp_15_r20/external/capstone/arch/EVM/EVMInstPrinter.c (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1 /* Capstone Disassembly Engine */
2 /* By Nguyen Anh Quynh, 2018 */
3 
4 #include "EVMInstPrinter.h"
5 #include "EVMMapping.h"
6 
7 
EVM_printInst(MCInst * MI,struct SStream * O,void * PrinterInfo)8 void EVM_printInst(MCInst *MI, struct SStream *O, void *PrinterInfo)
9 {
10 	SStream_concat(O, EVM_insn_name((csh)MI->csh, MI->Opcode));
11 
12 	if (MI->Opcode >= EVM_INS_PUSH1 && MI->Opcode <= EVM_INS_PUSH32) {
13 		unsigned int i;
14 
15 		SStream_concat0(O, "\t");
16 		for (i = 0; i < MI->Opcode - EVM_INS_PUSH1 + 1; i++) {
17 			SStream_concat(O, "%02x", MI->evm_data[i]);
18 		}
19 	}
20 }
21