#!/usr/bin/perl
use strict;
+sub plaintext {
+ print $_[0];
+}
+
sub ins {
my $bits = $_[0];
my $bline;
my $x;
my @fieldnames;
my @flagnames = ('SF', 'CF', 'OF', 'ZF');
+ my $section = "\\subsubsection";
-
+ if($_[9]) {
+ $section = "\\item ";
+ }
@fields = split(/\|/, $_[3]);
foreach my $field (@fields) {
$count = $bits-1;
- $tabular = "\\subsubsection{".$_[1]."}\n";
+ $tabular = $section."{\\texttt{".$_[1]."} -- ".$_[2]."}\n";
$tabular .= "\\begin{center} \n \\resizebox{\\textwidth}{!}{\n";
$tabular .= "\\begin{tabular}{|l|";
for($i = $bits-1; $i >= 0; $i--) {
}
print $tabular;
+
+ if($_[8]) {
+ print "\\paragraph{Aliases to this Instruction:} \n";
+ my @aliases = split(/\|/, $_[8]);
+
+ print "\\begin{list}{\\labelitemi}{\\leftmargin=0em \\itemindent=1em}";
+
+
+ foreach my $alias (@aliases) {
+ my $long;
+ my $sub;
+ my @params;
+ my $namelist = $_[4];
+
+ @params = split(/-/, $alias);
+ $sub = @params[0];
+ $long = @params[1];
+ shift(@params); shift(@params);
+
+ foreach my $vals (@params) {
+ my $field;
+ my $val;
+ ($field, $val) = split(/\//, $vals);
+
+ my @fieldnames = split(/\|/, $namelist);
+
+ $fieldnames[$field] = $fieldnames[$field]."(".$val.")";
+ $namelist = join("|",@fieldnames);
+ }
+
+ ins($_[0], $sub, $long,$_[3], $namelist, '', '', '', '',1);
+ }
+ print "\\end{list}";
+ }
+
}
if($#ARGV != 0) {