diff --git a/moniste/kayttojarjestelmat.tex b/moniste/kayttojarjestelmat.tex
index 9681faf1bcaf5a5c35de9be4bdc2096afa2759c6..23147da549e1d4288f2ea3511d02dc471de7b46a 100644
--- a/moniste/kayttojarjestelmat.tex
+++ b/moniste/kayttojarjestelmat.tex
@@ -105,6 +105,17 @@
 % \renewcommand{\includegraphics}[2][width=\textwidth]{\IfFileExists{#2}{\includegraphicsoriginal[#1]{#2}}{\noimage}}
 
 
+
+% pystyteksti bittimerkinnöille
+\newlength{\bitlabelwidth}
+\newcommand{\rotbitheader}[1]{%
+  \tiny
+  \settowidth{\bitlabelwidth}{\quad 99}%
+  \rotatebox[origin=B]{90}{\makebox[\bitlabelwidth][r]{#1}}%
+}
+
+
+
 \begin{document}
 
 %\include{./tex/prologi}
diff --git a/moniste/tex/muistinhallinta.tex b/moniste/tex/muistinhallinta.tex
index 96cd14fbca2c1964c05a69343d5bfd1576e0cad8..697daa71a9a778326abf21bee2a137f3b95e2f3e 100644
--- a/moniste/tex/muistinhallinta.tex
+++ b/moniste/tex/muistinhallinta.tex
@@ -304,7 +304,97 @@ x86-64 -arkkitehtuurissa hienojakoisemmin niin sanotun
 
 \begin{figure}[ht]
   \centering
-  \includegraphics[width=.8\textwidth]{osoitteenmuunnos_sivutaulu_20bit_leikkiarkkitehtuuri}
+  % \includegraphics[width=.8\textwidth]{osoitteenmuunnos_sivutaulu_20bit_leikkiarkkitehtuuri}
+
+  \begin{bytefield}[leftcurly=.,rightcurly=.,bitwidth=0.9em]{32}
+    \bitheader[endianness=big,bitformatting=\rotbitheader]{0-31} \\
+    \begin{rightwordgroup}{(PTE:n osoite)}
+      \begin{leftwordgroup}{rivi/indeksi}
+        \bitbox{8}{käyttöj.} & \bitbox{12}{Fyysisen sivun numero} &
+        \bitbox{4}{käyttöj.} &
+        \bitbox{2}{res.}  &
+        \bitbox{1}{D} & \bitbox{1}{A} & \bitbox{1}{E} &
+        \bitbox{1}{U} & \bitbox{1}{W} & \bitbox{1}{P}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027000 }
+      \begin{leftwordgroup}{0x00}
+        \bitbox{8}{} & \bitbox{12}{0x000} &
+        \bitboxes{1}{000000000000}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027004 }
+      \begin{leftwordgroup}{0x01}
+        \bitbox{8}{} & \bitbox{12}{0x345} &
+        \bitboxes{1}{001000011101}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027008 }
+      \begin{leftwordgroup}{0x02}
+        \bitbox{8}{} & \bitbox{12}{0x88a} &
+        \bitboxes{1}{000000001101}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+        \begin{rightwordgroup}{$\leftarrow$ 0x02700c }
+      \begin{leftwordgroup}{0x03}
+        \bitbox{8}{} & \bitbox{12}{0x678} &
+        \bitboxes{1}{000000010111}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027010 }
+      \begin{leftwordgroup}{0x04}
+        \bitbox{8}{} & \bitbox{12}{0x000} &
+        \bitboxes{1}{000000000110}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027014 }
+      \begin{leftwordgroup}{0x05}
+        \bitbox{8}{} & \bitbox{12}{0x9ec} &
+        \bitboxes{1}{010000110111}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \skippedwords \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x0271fc }
+      \begin{leftwordgroup}{0x7f}
+        \bitbox{8}{} & \bitbox{12}{0x3c0} &
+        \bitboxes{1}{000000110111}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x027200 }
+      \begin{leftwordgroup}{0x80}
+        \bitbox{8}{} & \bitbox{12}{0x000} &
+        \bitboxes{1}{000000000000}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \skippedwords \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x0273f8 }
+      \begin{leftwordgroup}{0xfe}
+        \bitbox{8}{} & \bitbox{12}{0x0e2} &
+        \bitboxes{1}{000000110011}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+    \begin{rightwordgroup}{$\leftarrow$ 0x0273fc }
+      \begin{leftwordgroup}{0xff}
+        \bitbox{8}{} & \bitbox{12}{0x0f0} &
+        \bitboxes{1}{000000011001}
+      \end{leftwordgroup}
+    \end{rightwordgroup} \\
+
+
+  \end{bytefield}
+
   \caption{\label{fig:leikkisivutaulu} Leikkiesimerkki prosessin
     sivutaulusta 20-bittisellä virtuaaliosoiteavaruudella,
     24-bittisellä fyysisellä osoiteavaruudella ja 4096 tavun
@@ -336,7 +426,46 @@ virtuaalinen\footnote{Esimerkiksi AMD64 määrittelee fyysisen
 
 \begin{figure}[ht]
   \centering
-  \includegraphics[width=.5\textwidth]{osoitteenmuunnos_20bit_leikkiarkkitehtuuri}
+  % \includegraphics[width=.5\textwidth]{osoitteenmuunnos_20bit_leikkiarkkitehtuuri}
+    \begin{bytefield}[leftcurly=.,rightcurly=.,bitwidth=0.9em]{32}
+
+    \bitbox[]{4}{0x}
+    \bitboxes[]{4}{03cde}
+    \\
+
+    \bitbox[]{4}{Bitit:} &
+    \bitbox{4}[bgcolor=gray!50]{0 0 0 0} &
+    \bitbox{4}[bgcolor=gray!50]{0 0 1 1} &
+    \bitbox{4}[bgcolor=gray!20]{1 1 0 0} &
+    \bitbox{4}[bgcolor=gray!20]{1 1 0 1} &
+    \bitbox{4}[bgcolor=gray!20]{1 1 1 0} &
+    \\
+
+    \bitbox[]{4}{Osiot:} &
+    \bitbox[]{8}[bgcolor=gray!50]{Bitit 19…12} &
+    \bitbox[]{12}[bgcolor=gray!20]{Bitit 11…0}
+    \\
+
+    \bitbox[]{4}{} &
+    \bitbox[]{8}[bgcolor=gray!50]{\small (8 bittiä)} &
+    \bitbox[]{12}[bgcolor=gray!20]{\small (12 bittiä)}
+    \\
+
+    \bitbox[]{4}{Indeksit:} &
+    \bitbox[]{8}[bgcolor=gray!50]{3} &
+    \bitbox[]{12}[bgcolor=gray!20]{0Xcde (=3294)}
+    \\
+
+    \bitbox[]{4}{} &
+    \bitbox[]{8}{} & \bitbox[]{12}{\raggedright Osoite sivun sisällä.}
+    \\
+
+    \bitbox[]{4}{} &
+    \bitbox[]{8}{\raggedright Indeksi sivutaulun riviin.} &
+    \bitbox[]{12}{\raggedright (Pysyy samana fyysisellä Sivulla.)}
+
+  \end{bytefield}
+
   \caption{\label{fig:leikkiosoite} Leikkiesimerkki prosessin
     virtuaalimuistiosoitteesta 20-bittisellä
     virtuaaliosoiteavaruudella ja 4096 tavun sivukoolla.}