Added a few more instructions.

This commit is contained in:
2024-09-10 23:29:43 -05:00
parent 892e34af93
commit 05adb3d0c9
+60
View File
@@ -401,4 +401,64 @@ The /r represents a byte that specifies a register. /immX is for the immediate d
\hline
\end{tabularx}
\paragraph{Description} Registers a 1024 byte block of memory starting at \textit{operand one} as the Interrupt Vector Table.
\paragraph{Flags Affected} None.
\subsection{PUSHA}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
19 & pusha & None & None \\
\hline
\end{tabularx}
\paragraph{Description} Pushes all general purpose registers to the stack in order starting from \textit{r1} to \textit{r8}.
\paragraph{Flags Affected} None.
\subsection{POPA}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
20 & popa & None & None \\
\hline
\end{tabularx}
\paragraph{Description} Pops all general purpose registers from the stack, restoring them, in the reverse order of \textit{r8} to \textit{r1}.
\paragraph{Flags Affected} None.
\subsection{CALL}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
21 & call & None & None \\
\hline
\end{tabularx}
\paragraph{Description} Calls a subroutine pushing the Program Counter (PC), plus one to return execution to the next opcode, to the stack.
\paragraph{Flags Affected} None.
\subsection{RET}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
22 & ret & None & None \\
\hline
\end{tabularx}
\paragraph{Description} Returns from the subroutine, popping the stack to restore the return address into the Program Counter (PC).
\paragraph{Flags Affected} None.
\subsection{PUSH}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
23 & push /r & /r & None \\
\hline
\end{tabularx}
\paragraph{Description} Pushes the contents of register \textit{Operand One} onto the top of the stack.
\paragraph{Flags Affected} None.
\subsection{POP}
\begin{tabularx}{\textwidth}{ | c | X | c | c | }
\hline
Opcode & Instruction & Operand One & Operand Two \\
\hline
24 & pop /r & /r & None \\
\hline
\end{tabularx}
\paragraph{Description} Pops 32-bits from the top of the stack into the register \textit{Operand One}.
\paragraph{Flags Affected} None.