File: riprel.pl

package info (click to toggle)
nasm 3.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,660 kB
  • sloc: ansic: 129,101; asm: 40,471; perl: 8,238; sh: 4,146; makefile: 1,281; xml: 726; python: 582; lisp: 578; sed: 11
file content (29 lines) | stat: -rwxr-xr-x 735 bytes parent folder | download | duplicates (20)
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
26
27
28
29
#!/usr/bin/perl

print ";Testname=unoptimized; Arguments=-fbin -oriprel.bin -O0; Files=stdout stderr riprel.bin\n";
print ";Testname=optimized;   Arguments=-fbin -oriprel.bin -Ox; Files=stdout stderr riprel.bin\n";


print "\tbits 64\n";

foreach $mode ('abs', 'rel') {
    print "\n\tdefault $mode\n\n";

    foreach $so ('', 'fs:', 'es:') {
	foreach $rq ('', 'abs ', 'rel ') {
	    foreach $ao ('', 'a64 ', 'a32 ') {
		foreach $sq ('', 'dword ', 'qword ') {
		    foreach $v ('foo', '0xaaaaaaaaaaaaaaaa', '0xbbbbbbbb',
				'0xffffffffcccccccc') {
			foreach $r (	'al', 'bl', 'ax', 'bx', 'eax', 'ebx', 'rax', 'rbx') {
			    print "\tmov $r,[$ao$rq$sq$so$v]\n";
			}
		    }
		    print "\n";
		}
	    }
	}
    }
}

print "\nfoo:\n";