这张 MIPS 指令格式图的排版方法

这张 MIPS 指令格式图的排版方法

下列三种 MIPS CPU 指令的位字段表格/图表的排版便捷方法是什么?

MIPS R-Type、I-Type 和 J-Type 指令的所有位字段

我首先想到的是制作一个可能有 8 行 7 列的表格,然后花很多功夫尝试让间距看起来正确。我预计这会花费我几个小时的时间,而且我可能仍然对结果不满意。在 LaTeX 中有没有方便的方法来实现这一点?

明确地说:我只是想知道如何方便地制作这样的图表;我并不是要求你帮我排版那个图表。我真正想要的是制作一个与此类似的表格,但进行了一些修改。这些修改的细节会使这个问题变得不必要地复杂。

答案1

非常容易的工作字节字段包裹。

\documentclass{article}
\usepackage{bytefield} 
\usepackage{calc}
\begin{document}
\begin{bytefield}[leftcurly=., leftcurlyspace=0pt]{32}
\bitheader[endianness=big]{31,26,25,21,20,16,15,11,10,6,5,0} \\
\begin{leftwordgroup}{\makebox[\widthof{R-Type\ }][r]{R-Type\ }}
\bitbox{6}{opcode} & \bitbox{5}{rs} &
\bitbox{5}{rt} &\bitbox{5}{rd} &\bitbox{5}{sa} & \bitbox{6}{function}
\end{leftwordgroup}\\
\end{bytefield}\vspace{3ex}

\begin{bytefield}[leftcurly=., leftcurlyspace=0pt]{32}
\bitheader[endianness=big]{31,26,25,21,20,16,15,0} \\
\begin{leftwordgroup}{\makebox[\widthof{R-Type\ }][r]{I-Type\ }}
\bitbox{6}{opcode} & \bitbox{5}{rs} &
\bitbox{5}{rt} &\bitbox{16}{immediate}
\end{leftwordgroup}\\
\end{bytefield}\vspace{3ex}

\begin{bytefield}[leftcurly=., leftcurlyspace=0pt]{32}
\bitheader[endianness=big]{31,26,25,0} \\
\begin{leftwordgroup}{\makebox[\widthof{R-Type\ }][r]{J-Type\ }}
\bitbox{6}{opcode} & \bitbox{26}{istr\textunderscore index}
\end{leftwordgroup}\\
\end{bytefield}

\end{document}

在此处输入图片描述

相关内容