summaryrefslogtreecommitdiff
path: root/parse-opcodes
diff options
context:
space:
mode:
authorGravatar Yunsup Lee <yunsup@cs.berkeley.edu>2010-09-12 19:43:54 -0700
committerGravatar Yunsup Lee <yunsup@cs.berkeley.edu>2010-09-12 19:44:15 -0700
commit53600108cc24cc14b1c0f04666f27ffc1b3ff681 (patch)
treeff713df861da7f280a5a85a7c6d2bee8e98c8532 /parse-opcodes
parentca88acdbb9788aad1e717902b3358e80ccb5d00c (diff)
[opcodes] fixed tex table for ish,ishw types
Diffstat (limited to 'parse-opcodes')
-rwxr-xr-xparse-opcodes79
1 files changed, 38 insertions, 41 deletions
diff --git a/parse-opcodes b/parse-opcodes
index 8b9b660..1151e1f 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -214,19 +214,18 @@ def print_ish_type(name,match,arguments):
print """
&
\\multicolumn{2}{|c|}{%s} &
-\\multicolumn{1}{c|}{00000} &
\\multicolumn{1}{c|}{%s} &
-\\multicolumn{2}{c|}{%s} &
-\\multicolumn{2}{c|}{%s} &
-\\multicolumn{1}{c|}{%s} & %s \\\\
+\\multicolumn{1}{c|}{%s} &
+\\multicolumn{3}{c|}{%s} &
+\\multicolumn{2}{c|}{%s} & %s \\\\
\\cline{2-10}
""" % \
( \
binary(yank(match,25,7),7), \
+ str_arg('xa','',match,arguments), \
str_arg('xb','',match,arguments), \
- binary(yank(match,11,4),4), \
+ binary(yank(match,6,9),9), \
str_arg('shamt','',match,arguments), \
- str_arg('xc','',match,arguments), \
str_inst(name,arguments) \
)
@@ -234,60 +233,59 @@ def print_ishw_type(name,match,arguments):
print """
&
\\multicolumn{2}{|c|}{%s} &
-\\multicolumn{1}{c|}{00000} &
\\multicolumn{1}{c|}{%s} &
-\\multicolumn{2}{c|}{%s} &
-\\multicolumn{1}{c|}{0} &
\\multicolumn{1}{c|}{%s} &
+\\multicolumn{3}{c|}{%s} &
+\\multicolumn{1}{c|}{0} &
\\multicolumn{1}{c|}{%s} & %s \\\\
\\cline{2-10}
""" % \
( \
binary(yank(match,25,7),7), \
+ str_arg('xa','',match,arguments), \
str_arg('xb','',match,arguments), \
- binary(yank(match,11,4),4), \
+ binary(yank(match,6,9),9), \
str_arg('shamtw','',match,arguments), \
- str_arg('xc','',match,arguments), \
str_inst(name,arguments) \
)
-def print_r4_type(name,match,arguments):
+def print_r_type(name,match,arguments):
print """
&
\\multicolumn{2}{|c|}{%s} &
\\multicolumn{1}{c|}{%s} &
\\multicolumn{1}{c|}{%s} &
-\\multicolumn{3}{c|}{%s} &
-\\multicolumn{1}{c|}{%s} &
+\\multicolumn{4}{c|}{%s} &
\\multicolumn{1}{c|}{%s} & %s \\\\
\\cline{2-10}
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('fa','',match,arguments), \
- str_arg('fb','',match,arguments), \
- binary(yank(match,10,5),5), \
- str_arg('fd','',match,arguments), \
- str_arg('fc','',match,arguments), \
+ str_arg('xa','fa',match,arguments), \
+ str_arg('xb','fb',match,arguments), \
+ binary(yank(match,5,10),10), \
+ str_arg('xc','fc',match,arguments), \
str_inst(name,arguments) \
)
-def print_r_type(name,match,arguments):
+def print_r4_type(name,match,arguments):
print """
&
\\multicolumn{2}{|c|}{%s} &
\\multicolumn{1}{c|}{%s} &
\\multicolumn{1}{c|}{%s} &
-\\multicolumn{4}{c|}{%s} &
+\\multicolumn{2}{c|}{%s} &
+\\multicolumn{2}{c|}{%s} &
\\multicolumn{1}{c|}{%s} & %s \\\\
\\cline{2-10}
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','fa',match,arguments), \
- str_arg('xb','fb',match,arguments), \
- binary(yank(match,5,10),10), \
- str_arg('xc','fc',match,arguments), \
+ str_arg('fa','',match,arguments), \
+ str_arg('fb','',match,arguments), \
+ binary(yank(match,10,5),5), \
+ str_arg('fd','',match,arguments), \
+ str_arg('fc','',match,arguments), \
str_inst(name,arguments) \
)
@@ -305,9 +303,9 @@ def print_header():
\\hspace*{0.5in} &
\\hspace*{0.5in} &
\\hspace*{0.3in} &
+\\hspace*{0.2in} &
+\\hspace*{0.4in} &
\\hspace*{0.1in} &
-\\hspace*{0.1in} &
-\\hspace*{0.5in} &
\\hspace*{0.5in} \\\\
&
\\instbitrange{31}{27} &
@@ -315,9 +313,9 @@ def print_header():
\\instbitrange{24}{20} &
\\instbitrange{19}{15} &
\\instbitrange{14}{12} &
-\\instbit{11} &
-\\instbit{10} &
-\\instbitrange{9}{5} &
+\\instbitrange{11}{10} &
+\\instbitrange{9}{6} &
+\\instbit{5} &
\\instbitrange{4}{0} \\\\
\\cline{2-10}
&
@@ -338,26 +336,25 @@ def print_header():
\\cline{2-10}
&
\\multicolumn{2}{|c|}{opcode} &
-\\multicolumn{1}{c|}{00000} &
+\\multicolumn{1}{c|}{ra} &
\\multicolumn{1}{c|}{rb} &
-\\multicolumn{2}{c|}{funct4} &
-\\multicolumn{2}{c|}{shamt} &
-\\multicolumn{1}{c|}{rc} & RSH-type \\\\
+\\multicolumn{3}{c|}{funct9} &
+\\multicolumn{2}{c|}{shamt} & ISH-type \\\\
\\cline{2-10}
&
\\multicolumn{2}{|c|}{opcode} &
\\multicolumn{1}{c|}{ra} &
\\multicolumn{1}{c|}{rb} &
-\\multicolumn{3}{c|}{funct5} &
-\\multicolumn{1}{c|}{rd} &
-\\multicolumn{1}{c|}{rc} & R4-type \\\\
+\\multicolumn{4}{c|}{funct10} &
+\\multicolumn{1}{c|}{rc} & R-type \\\\
\\cline{2-10}
&
\\multicolumn{2}{|c|}{opcode} &
\\multicolumn{1}{c|}{ra} &
\\multicolumn{1}{c|}{rb} &
-\\multicolumn{4}{c|}{funct10} &
-\\multicolumn{1}{c|}{rc} & R-type \\\\
+\\multicolumn{2}{c|}{funct5} &
+\\multicolumn{2}{c|}{rd} &
+\\multicolumn{1}{c|}{rc} & R4-type \\\\
\\cline{2-10}
"""
@@ -504,7 +501,7 @@ def print_verilog_ish_type(name,match,arguments):
binary(yank(match,25,7),7), \
str_verilog_arg('xa','',match,arguments), \
str_verilog_arg('xb','',match,arguments), \
- binary(yank(match,5,9),9), \
+ binary(yank(match,6,9),9), \
str_verilog_arg('shamt','',match,arguments) \
)
@@ -515,7 +512,7 @@ def print_verilog_ishw_type(name,match,arguments):
binary(yank(match,25,7),7), \
str_verilog_arg('xa','',match,arguments), \
str_verilog_arg('xb','',match,arguments), \
- binary(yank(match,5,9),9), \
+ binary(yank(match,6,9),9), \
str_verilog_arg('shamtw','',match,arguments) \
)