|
@@ -844,7 +844,7 @@ specified by the label, which we shall use to implement
|
|
|
\Arg &::=& \key{\$}\Int \mid \key{\%}\itm{register} \mid \Int(\key{\%}\itm{register}) \\
|
|
|
\Instr &::=& \key{addq} \; \Arg, \Arg \mid
|
|
|
\key{subq} \; \Arg, \Arg \mid
|
|
|
- \key{imulq} \; \Arg,\Arg \mid
|
|
|
+% \key{imulq} \; \Arg,\Arg \mid
|
|
|
\key{negq} \; \Arg \mid \\
|
|
|
&& \key{movq} \; \Arg, \Arg \mid
|
|
|
\key{callq} \; \mathit{label} \mid
|
|
@@ -979,15 +979,14 @@ communicated from one step of the compiler to the next.
|
|
|
|
|
|
\begin{figure}[tbp]
|
|
|
\fbox{
|
|
|
-\begin{minipage}{0.96\textwidth}
|
|
|
-\vspace{-10pt}
|
|
|
+\begin{minipage}{\textwidth}
|
|
|
\[
|
|
|
\begin{array}{lcl}
|
|
|
\Arg &::=& \INT{\Int} \mid \REG{\itm{register}}
|
|
|
\mid \STACKLOC{\Int} \\
|
|
|
\Instr &::=& (\key{addq} \; \Arg\; \Arg) \mid
|
|
|
(\key{subq} \; \Arg\; \Arg) \mid
|
|
|
- (\key{imulq} \; \Arg\;\Arg) \mid
|
|
|
+% (\key{imulq} \; \Arg\;\Arg) \mid
|
|
|
(\key{negq} \; \Arg) \\
|
|
|
&\mid& (\key{movq} \; \Arg\; \Arg) \mid
|
|
|
(\key{call} \; \mathit{label}) \\
|
|
@@ -1396,8 +1395,8 @@ follows.
|
|
|
\end{array}
|
|
|
\]
|
|
|
|
|
|
-The \key{imulq} instruction is a special case because the destination
|
|
|
-argument must be a register.
|
|
|
+%% The \key{imulq} instruction is a special case because the destination
|
|
|
+%% argument must be a register.
|
|
|
|
|
|
\section{Print x86-64}
|
|
|
\label{sec:print-x86}
|