File: test-r_asm.pl

package info (click to toggle)
radare2 0.9.6-3.1%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 17,496 kB
  • ctags: 45,959
  • sloc: ansic: 240,999; sh: 3,645; makefile: 2,520; python: 1,212; asm: 312; ruby: 214; awk: 209; perl: 188; lisp: 169; java: 23; xml: 17; php: 6
file content (25 lines) | stat: -rwxr-xr-x 526 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl
#require "r_asm.pm";
require "r2/r_asm.pm";

sub disasm {
	my ($a, $arch, $op) = @_;
	print("---\n");
	print("OPCODE: $op\n");
	$a->use ($arch);
	print("ARCH: $arch\n");
	my $code = $a->massemble ($op);
	if (defined($code)) {
		my $buf = r_asmc::RAsmCode_buf_hex_get ($code);
		print "HEX: $buf\n";
	} else {
		print("HEX: Cannot assemble opcode\n");
	}
}

my $a = new r_asm::RAsm();
$a->list();

disasm ($a, 'x86.olly', 'mov eax, 33');
disasm ($a, 'java', 'bipush 33');
disasm ($a, 'java', 'invalid opcode');