diff --git a/build.ninja b/build.ninja index 1ed28b41c9cfecaf6db6d0eef878f74fe4428825..09826ecea0d15753e1f79025a6658c862bf7eb20 100644 --- a/build.ninja +++ b/build.ninja @@ -1,9 +1,18 @@ rule svg_to_pdf command = inkscape -o $out $in +rule svg_to_eps + command = inkscape -o $out $in + rule concatenate_pdf command = pdftk $in cat output $out +rule asymptote_program + command = (cd fig/program && asy ../../$in) + +rule asymptote_memory + command = (cd fig/memory && asy ../../$in) + build pipe-usage-example.pdf: concatenate_pdf fig/00-parent-begin.pdf fig/01-parent-pipe.pdf fig/02-parent-fork.pdf fig/03-parent-fork-focus-pipe.pdf fig/04-parent-switch.pdf fig/05-parent-close.pdf fig/06-parent-close-done.pdf fig/07-parent-read-blocked.pdf fig/08-child-switch.pdf fig/09-child-close.pdf fig/10-child-close-done.pdf fig/11-child-dup2.pdf fig/12-child-dup2-done.pdf fig/13-child-dup2-done2.pdf fig/14-child-exec.pdf fig/15-child-exec-done.pdf fig/16-parent-read-loop.pdf fig/17-child-exit.pdf fig/18-child-exit-done.pdf fig/18b-child-exit-done-deadlock-note.pdf fig/19-parent-close.pdf fig/20-parent-close-done.pdf build fig/00-parent-begin.pdf: svg_to_pdf fig/00-parent-begin.svg @@ -28,3 +37,27 @@ build fig/18-child-exit-done.pdf: svg_to_pdf fig/18-child-exit-done.svg build fig/18b-child-exit-done-deadlock-note.pdf: svg_to_pdf fig/18b-child-exit-done-deadlock-note.svg build fig/19-parent-close.pdf: svg_to_pdf fig/19-parent-close.svg build fig/20-parent-close-done.pdf: svg_to_pdf fig/20-parent-close-done.svg + +build fig/program/slides-00.pdf: asymptote_program fig/program/slides.asy +build fig/program/slides-all.pdf: concatenate_pdf fig/program/slides-00.pdf fig/program/slides-01.pdf fig/program/slides-02.pdf fig/program/slides-03.pdf fig/program/slides-04.pdf | fig/program/asm-bg-color.eps fig/program/asm-text-black.eps fig/program/bin-multiline-bg-color.eps fig/program/bin-multiline-text.eps fig/program/bin-singleline-base2-text.eps fig/program/bin-singleline-text.eps fig/program/src-bg-color.eps fig/program/src-text-black.eps fig/program/src-text-color.eps +build fig/program/asm-bg-color.eps: svg_to_eps fig/program/asm-bg-color.svg +build fig/program/asm-text-black.eps: svg_to_eps fig/program/asm-text-black.svg +build fig/program/bin-multiline-bg-color.eps: svg_to_eps fig/program/bin-multiline-bg-color.svg +build fig/program/bin-multiline-text.eps: svg_to_eps fig/program/bin-multiline-text.svg +build fig/program/bin-singleline-base2-text.eps: svg_to_eps fig/program/bin-singleline-base2-text.svg +build fig/program/bin-singleline-text.eps: svg_to_eps fig/program/bin-singleline-text.svg +build fig/program/src-bg-color.eps: svg_to_eps fig/program/src-bg-color.svg +build fig/program/src-text-black.eps: svg_to_eps fig/program/src-text-black.svg +build fig/program/src-text-color.eps: svg_to_eps fig/program/src-text-color.svg + +build fig/memory/memory-all.pdf: concatenate_pdf fig/memory/memory-01.pdf fig/memory/memory-02.pdf fig/memory/memory-03.pdf fig/memory/memory-04.pdf fig/memory/memory-05.pdf fig/memory/memory-06.pdf fig/memory/memory-07.pdf fig/memory/memory-08.pdf fig/memory/memory-09.pdf fig/memory/memory-10.pdf fig/memory/memory-11.pdf +build fig/memory/memory.pdf fig/memory/memory-00.pdf fig/memory/memory-01.pdf fig/memory/memory-02.pdf fig/memory/memory-03.pdf fig/memory/memory-04.pdf fig/memory/memory-05.pdf fig/memory/memory-06.pdf fig/memory/memory-07.pdf fig/memory/memory-08.pdf fig/memory/memory-09.pdf fig/memory/memory-10.pdf fig/memory/memory-11.pdf: asymptote_memory fig/memory/memory.asy | fig/memory/64bit-addr-read.eps fig/memory/64bit-addr-values-hexa.eps fig/memory/64bit-addr-values-hexa-final.eps fig/memory/64bit-addr-pre-write.eps fig/memory/64bit-addr-write.eps fig/memory/64bit-values-binary.eps fig/memory/64bit-values-decimal.eps fig/memory/64bit-values-hexa.eps fig/memory/memory-circuit-figure.eps +build fig/memory/64bit-addr-read.eps: svg_to_eps fig/memory/64bit-addr-read.svg +build fig/memory/64bit-addr-values-hexa.eps: svg_to_eps fig/memory/64bit-addr-values-hexa.svg +build fig/memory/64bit-addr-pre-write.eps: svg_to_eps fig/memory/64bit-addr-pre-write.svg +build fig/memory/64bit-addr-write.eps: svg_to_eps fig/memory/64bit-addr-write.svg +build fig/memory/64bit-addr-values-hexa-final.eps: svg_to_eps fig/memory/64bit-addr-values-hexa-final.svg +build fig/memory/64bit-values-binary.eps: svg_to_eps fig/memory/64bit-values-binary.svg +build fig/memory/64bit-values-decimal.eps: svg_to_eps fig/memory/64bit-values-decimal.svg +build fig/memory/64bit-values-hexa.eps: svg_to_eps fig/memory/64bit-values-hexa.svg +build fig/memory/memory-circuit-figure.eps: svg_to_eps fig/memory/memory-circuit-figure.svg diff --git a/code/index_of.c b/code/index_of.c new file mode 100644 index 0000000000000000000000000000000000000000..3ce3ca5f3bbb5a73f79367d43e378f7127582069 --- /dev/null +++ b/code/index_of.c @@ -0,0 +1,34 @@ +// Renvoie l'indice de la première occurrence de value dans le tableau array. +// Renvoie -1 si value n'est pas dans array. +int index_of(int value, int size, int * array) +{ + for (int i = 0; i < size; ++i) { + if (array[i] == value) + return i; + } + return -1; +} + +// Test de la fonction. +#include <stdio.h> +#include <stdlib.h> +#define CHECK(ARRAY, SIZE, VALUE, POS) \ + if (index_of(VALUE, SIZE, ARRAY) != POS) {\ + fprintf(stderr, "index_of(%d) should be %d\n", VALUE, POS);\ + exit(1);\ + } + +int main() { + int array[6] = {1, 2, 3, 4, 2, 6}; + CHECK(array, 6, 0, -1); + CHECK(array, 6, 42000, -1); + CHECK(array, 6, 1, 0); + CHECK(array, 6, 2, 1); + CHECK(array, 6, 3, 2); + CHECK(array, 6, 4, 3); + CHECK(array, 6, 6, 5); + + CHECK(NULL, 0, 0, -1); + CHECK(NULL, 0, 42000, -1); + return 0; +} diff --git a/fig/memory/64bit-addr-pre-write.svg b/fig/memory/64bit-addr-pre-write.svg new file mode 100644 index 0000000000000000000000000000000000000000..6c5917dff99fa9f5548551f77ba57f1ff7a7446f --- /dev/null +++ b/fig/memory/64bit-addr-pre-write.svg @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="51.896801mm" + height="78.246597mm" + viewBox="0 0 51.8968 78.246597" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-addr-pre-write.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="2.209788" + inkscape:cx="45.026943" + inkscape:cy="154.08718" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.8283,-7.6976515)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffb9b9;stroke:#000000;stroke-width:0.499999;stroke-opacity:1;fill-opacity:1" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583" + x="71.517693" + y="56.943378">67</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">3F</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577" + id="text39063"><tspan + sodipodi:role="line" + id="tspan39061" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577">0</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189" + id="text39067"><tspan + sodipodi:role="line" + id="tspan39065" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189">1</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531" + id="text39071"><tspan + sodipodi:role="line" + id="tspan39069" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531">2</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179" + id="text39075"><tspan + sodipodi:role="line" + id="tspan39073" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179">3</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:'monospace Bold';text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789" + id="text39079"><tspan + sodipodi:role="line" + id="tspan39077" + style="text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;-inkscape-font-specification:'monospace Bold';font-family:monospace;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789">4</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577" + id="text39083"><tspan + sodipodi:role="line" + id="tspan39081" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577">5</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978" + id="text39087"><tspan + sodipodi:role="line" + id="tspan39085" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978">6</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386" + id="text39091"><tspan + sodipodi:role="line" + id="tspan39089" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386">7</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="12.070761" + id="text39095"><tspan + sodipodi:role="line" + id="tspan39093" + style="stroke-width:0.264583" + x="71.524925" + y="12.070761">Valeur</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058" + id="text39095-0"><tspan + sodipodi:role="line" + id="tspan39093-9" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058">Adresse</tspan></text> + </g> +</svg> diff --git a/fig/memory/64bit-addr-read.svg b/fig/memory/64bit-addr-read.svg new file mode 100644 index 0000000000000000000000000000000000000000..b4eaacd1344c1d7edae2ed1005f20cbd47508bb0 --- /dev/null +++ b/fig/memory/64bit-addr-read.svg @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="51.896801mm" + height="78.246597mm" + viewBox="0 0 51.8968 78.246597" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-addr-read.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="2.209788" + inkscape:cx="46.837072" + inkscape:cy="134.17577" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.8283,-7.6976515)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffb9b9;stroke:#000000;stroke-width:0.499999;fill-opacity:1" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-opacity:1;fill-opacity:1" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:'monospace Bold';text-align:center;text-anchor:middle;stroke-width:0.264583;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583;-inkscape-font-specification:'monospace Bold';font-family:monospace;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="71.524925" + y="39.486977">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal" + x="71.517693" + y="56.943378">67</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">3F</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577" + id="text39063"><tspan + sodipodi:role="line" + id="tspan39061" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577">0</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189" + id="text39067"><tspan + sodipodi:role="line" + id="tspan39065" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189">1</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:'monospace Bold';text-align:end;text-anchor:end;stroke-width:0.264583;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.681164" + y="39.519531" + id="text39071"><tspan + sodipodi:role="line" + id="tspan39069" + style="text-align:end;text-anchor:end;stroke-width:0.264583;-inkscape-font-specification:'monospace Bold';font-family:monospace;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.681164" + y="39.519531">2</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179" + id="text39075"><tspan + sodipodi:role="line" + id="tspan39073" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179">3</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789" + id="text39079"><tspan + sodipodi:role="line" + id="tspan39077" + style="text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789">4</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577" + id="text39083"><tspan + sodipodi:role="line" + id="tspan39081" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577">5</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978" + id="text39087"><tspan + sodipodi:role="line" + id="tspan39085" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978">6</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386" + id="text39091"><tspan + sodipodi:role="line" + id="tspan39089" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386">7</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="12.070761" + id="text39095"><tspan + sodipodi:role="line" + id="tspan39093" + style="stroke-width:0.264583" + x="71.524925" + y="12.070761">Valeur</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058" + id="text39095-0"><tspan + sodipodi:role="line" + id="tspan39093-9" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058">Adresse</tspan></text> + </g> +</svg> diff --git a/fig/memory/64bit-addr-values-hexa-final.svg b/fig/memory/64bit-addr-values-hexa-final.svg new file mode 100644 index 0000000000000000000000000000000000000000..3382528593ef8f1b4110f912bcc1c1342685873a --- /dev/null +++ b/fig/memory/64bit-addr-values-hexa-final.svg @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="51.896801mm" + height="78.247002mm" + viewBox="0 0 51.8968 78.247001" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-addr-values-hexa-final.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="20.799253" + inkscape:cy="135.35514" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.8283,-7.6976515)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583" + x="71.517693" + y="56.943378">6D</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">3F</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577" + id="text39063"><tspan + sodipodi:role="line" + id="tspan39061" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577">0</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189" + id="text39067"><tspan + sodipodi:role="line" + id="tspan39065" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189">1</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531" + id="text39071"><tspan + sodipodi:role="line" + id="tspan39069" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531">2</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179" + id="text39075"><tspan + sodipodi:role="line" + id="tspan39073" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179">3</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.497887" + y="56.945789" + id="text39079"><tspan + sodipodi:role="line" + id="tspan39077" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.497887" + y="56.945789">4</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577" + id="text39083"><tspan + sodipodi:role="line" + id="tspan39081" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577">5</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978" + id="text39087"><tspan + sodipodi:role="line" + id="tspan39085" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978">6</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386" + id="text39091"><tspan + sodipodi:role="line" + id="tspan39089" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386">7</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="12.070761" + id="text39095"><tspan + sodipodi:role="line" + id="tspan39093" + style="stroke-width:0.264583" + x="71.524925" + y="12.070761">Valeur</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058" + id="text39095-0"><tspan + sodipodi:role="line" + id="tspan39093-9" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058">Adresse</tspan></text> + </g> +</svg> diff --git a/fig/memory/64bit-addr-values-hexa.svg b/fig/memory/64bit-addr-values-hexa.svg new file mode 100644 index 0000000000000000000000000000000000000000..b98d4c3951e73b55717d55cadbe77586045e9025 --- /dev/null +++ b/fig/memory/64bit-addr-values-hexa.svg @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="51.896801mm" + height="78.247002mm" + viewBox="0 0 51.8968 78.247001" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-addr-values-hexa.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="20.799253" + inkscape:cy="135.35514" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.8283,-7.6976515)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583" + x="71.517693" + y="56.943378">67</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">3F</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577" + id="text39063"><tspan + sodipodi:role="line" + id="tspan39061" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577">0</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189" + id="text39067"><tspan + sodipodi:role="line" + id="tspan39065" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189">1</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531" + id="text39071"><tspan + sodipodi:role="line" + id="tspan39069" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531">2</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179" + id="text39075"><tspan + sodipodi:role="line" + id="tspan39073" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179">3</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.497887" + y="56.945789" + id="text39079"><tspan + sodipodi:role="line" + id="tspan39077" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.497887" + y="56.945789">4</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577" + id="text39083"><tspan + sodipodi:role="line" + id="tspan39081" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577">5</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978" + id="text39087"><tspan + sodipodi:role="line" + id="tspan39085" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978">6</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386" + id="text39091"><tspan + sodipodi:role="line" + id="tspan39089" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386">7</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="12.070761" + id="text39095"><tspan + sodipodi:role="line" + id="tspan39093" + style="stroke-width:0.264583" + x="71.524925" + y="12.070761">Valeur</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058" + id="text39095-0"><tspan + sodipodi:role="line" + id="tspan39093-9" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058">Adresse</tspan></text> + </g> +</svg> diff --git a/fig/memory/64bit-addr-write.svg b/fig/memory/64bit-addr-write.svg new file mode 100644 index 0000000000000000000000000000000000000000..263419cdf9fffaae751117050ac720813d9ceb75 --- /dev/null +++ b/fig/memory/64bit-addr-write.svg @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="51.896801mm" + height="78.246597mm" + viewBox="0 0 51.8968 78.246597" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-addr-write.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="2.209788" + inkscape:cx="39.596558" + inkscape:cy="139.60615" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-32.8283,-7.6976515)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffb9b9;stroke:#000000;stroke-width:0.499999;stroke-opacity:1;fill-opacity:1" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="71.517693" + y="56.943378">6D</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">3F</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577" + id="text39063"><tspan + sodipodi:role="line" + id="tspan39061" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="22.530577">0</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189" + id="text39067"><tspan + sodipodi:role="line" + id="tspan39065" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.59676" + y="31.011189">1</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531" + id="text39071"><tspan + sodipodi:role="line" + id="tspan39069" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.681164" + y="39.519531">2</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179" + id="text39075"><tspan + sodipodi:role="line" + id="tspan39073" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="48.215179">3</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:'monospace Bold';text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789" + id="text39079"><tspan + sodipodi:role="line" + id="tspan39077" + style="text-align:end;text-anchor:end;stroke-width:0.264583;fill:#000000;-inkscape-font-specification:'monospace Bold';font-family:monospace;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal" + x="53.497887" + y="56.945789">4</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577" + id="text39083"><tspan + sodipodi:role="line" + id="tspan39081" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.657047" + y="65.671577">5</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978" + id="text39087"><tspan + sodipodi:role="line" + id="tspan39085" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.582291" + y="74.39978">6</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386" + id="text39091"><tspan + sodipodi:role="line" + id="tspan39089" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.632935" + y="83.255386">7</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="12.070761" + id="text39095"><tspan + sodipodi:role="line" + id="tspan39093" + style="stroke-width:0.264583" + x="71.524925" + y="12.070761">Valeur</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058" + id="text39095-0"><tspan + sodipodi:role="line" + id="tspan39093-9" + style="text-align:end;text-anchor:end;stroke-width:0.264583" + x="53.553352" + y="11.450058">Adresse</tspan></text> + </g> +</svg> diff --git a/fig/memory/64bit-values-binary.svg b/fig/memory/64bit-values-binary.svg new file mode 100644 index 0000000000000000000000000000000000000000..5d9a5e1abf533309696d471183706b549c318b6a --- /dev/null +++ b/fig/memory/64bit-values-binary.svg @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="26.414827mm" + height="78.247002mm" + viewBox="0 0 26.414827 78.247002" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-values-binary.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="-149.43463" + inkscape:cy="89.276795" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.310275,-16.368649)"> + <g + id="g229048" + transform="translate(0,8.6714002)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">01101000</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">01101001</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">00101100</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">01110101</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583" + x="71.517693" + y="56.943378">01100111</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">01110101</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">01100100</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">00111111</tspan></text> + </g> + </g> +</svg> diff --git a/fig/memory/64bit-values-decimal.svg b/fig/memory/64bit-values-decimal.svg new file mode 100644 index 0000000000000000000000000000000000000000..52800d8d5980d3c5ed868bc4e1b8b31d074c9dd8 --- /dev/null +++ b/fig/memory/64bit-values-decimal.svg @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="26.414827mm" + height="78.247002mm" + viewBox="0 0 26.414827 78.247002" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-values-decimal.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="-149.43463" + inkscape:cy="175.03372" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.310275,-16.368649)"> + <g + id="g229849" + transform="translate(3.6008071e-7,8.6713997)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,25.096849 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,33.57505 V 25.096849 H 84.475102 V 33.57505" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.053251 V 33.57505 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.781451 V 42.30325 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,59.509651 V 51.03145 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.237851 V 59.75965 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.966051 V 68.48785 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.694251 V 77.21605 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="22.530577" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="22.530577">104</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.008778" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="31.008778">105</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.486977" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="39.486977">44</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="48.215179" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="48.215179">117</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.943378" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583" + x="71.517693" + y="56.943378">103</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="65.671577" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="65.671577">117</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.39978" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="74.39978">100</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="83.252975" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="83.252975">63</tspan></text> + </g> + </g> +</svg> diff --git a/fig/memory/64bit-values-hexa.svg b/fig/memory/64bit-values-hexa.svg new file mode 100644 index 0000000000000000000000000000000000000000..ddd9d6d496b3afc3420e8013afa1e2353cc4f8c0 --- /dev/null +++ b/fig/memory/64bit-values-hexa.svg @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="26.414827mm" + height="78.247002mm" + viewBox="0 0 26.414827 78.247001" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="64bit-values-hexa.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="3.1251122" + inkscape:cx="-42.398477" + inkscape:cy="65.43765" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.310275,-16.368649)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text> + <path + id="rect12128-7" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="m 58.560274,33.768249 v -8.478201 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-5" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,42.24645 V 33.768249 H 84.475102 V 42.24645" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-3" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,50.724651 V 42.24645 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-56" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,59.452851 V 50.97465 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-2" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,68.181051 V 59.70285 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-9" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,76.909251 V 68.43105 h 25.914827 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-1" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,85.637451 V 77.15925 h 25.914828 v 8.478201" + sodipodi:nodetypes="cccc" /> + <path + id="rect12128-7-27" + style="fill:#ffffff;stroke:#000000;stroke-width:0.499999" + d="M 58.560274,94.365651 V 85.88745 h 25.914828 v 8.478201 z" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="31.201975" + id="text16841"><tspan + sodipodi:role="line" + id="tspan16839" + style="stroke-width:0.264583" + x="71.524925" + y="31.201975">68</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="39.680176" + id="text16845"><tspan + sodipodi:role="line" + id="tspan16843" + style="stroke-width:0.264583" + x="71.524925" + y="39.680176">69</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="48.158375" + id="text16849"><tspan + sodipodi:role="line" + id="tspan16847" + style="stroke-width:0.264583" + x="71.524925" + y="48.158375">2C</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="56.886578" + id="text16853"><tspan + sodipodi:role="line" + id="tspan16851" + style="stroke-width:0.264583" + x="71.517693" + y="56.886578">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="65.614777" + id="text16857"><tspan + sodipodi:role="line" + id="tspan16855" + style="stroke-width:0.264583" + x="71.517693" + y="65.614777">67</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="74.342979" + id="text16861"><tspan + sodipodi:role="line" + id="tspan16859" + style="stroke-width:0.264583" + x="71.524925" + y="74.342979">75</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.524925" + y="83.071182" + id="text16865"><tspan + sodipodi:role="line" + id="tspan16863" + style="stroke-width:0.264583" + x="71.524925" + y="83.071182">64</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="71.517693" + y="91.924377" + id="text16869"><tspan + sodipodi:role="line" + id="tspan16867" + style="stroke-width:0.264583" + x="71.517693" + y="91.924377">3F</tspan></text> + </g> +</svg> diff --git a/fig/memory/memory-circuit-figure.svg b/fig/memory/memory-circuit-figure.svg new file mode 100644 index 0000000000000000000000000000000000000000..21f7523d27853179c93584925557a5442f32cf2b --- /dev/null +++ b/fig/memory/memory-circuit-figure.svg @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="26.414827mm" + height="78.247002mm" + viewBox="0 0 26.414827 78.247002" + version="1.1" + id="svg5" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="memory-circuit-figure.svg" + xml:space="preserve" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="-46.398334" + inkscape:cy="209.59247" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /><defs + id="defs2" /><g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.310275,-16.368649)"><text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="32.119595" + y="44.114777" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + style="stroke-width:0.264583" + x="32.119595" + y="44.114777" /></text><text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.5;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;text-anchor:middle;stroke-width:0.264583" + x="99.89402" + y="23.584381" + id="text16825"><tspan + sodipodi:role="line" + id="tspan16823" + style="stroke-width:0.264583" + x="99.89402" + y="23.584381" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="30.992731" + id="tspan16827" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="38.401081" + id="tspan16829" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="45.809433" + id="tspan16831" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="53.217781" + id="tspan16833" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="60.626129" + id="tspan16835" /><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="99.89402" + y="68.034485" + id="tspan16837" /></text><g + id="g228265" + transform="translate(0,8.6713997)"><path + id="rect12128-7-27" + style="fill:#7e995b;fill-opacity:1;stroke:#000000;stroke-width:0.499999" + d="M 84.475102,85.694251 H 58.560274 V 16.618648 h 25.914828 z" + sodipodi:nodetypes="ccccc" /><g + id="g93856" + transform="translate(0.11664506,-0.24324971)"><rect + style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.499999" + id="rect92208" + width="16.650581" + height="11.418898" + x="63.075752" + y="22.009445" + ry="2.1190164" /><rect + style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.499999" + id="rect92208-3" + width="16.650581" + height="11.418898" + x="63.075752" + y="37.79665" + ry="2.1190164" /><rect + style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.499999" + id="rect92208-6" + width="16.650581" + height="11.418898" + x="63.075752" + y="53.583851" + ry="2.1190164" /><rect + style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.499999" + id="rect92208-0" + width="16.650581" + height="11.418898" + x="63.075752" + y="69.371056" + ry="2.1190164" /></g></g></g></svg> diff --git a/fig/memory/memory.asy b/fig/memory/memory.asy new file mode 100644 index 0000000000000000000000000000000000000000..0798a04607e4cefbef14d9195b84ee07fe7855d1 --- /dev/null +++ b/fig/memory/memory.asy @@ -0,0 +1,107 @@ +import fontsize; +usepackage("amsfonts"); + +settings.outformat = "pdf"; +int frame_id = -1; + +defaultpen(font("OT1","cmr","m","n") + fontsize(30pt)); +unitsize(1cm); + +real scale = 10; +real eps_scale = 2.5; +real width = 4 * scale; +real height = 3 * scale; +pen magenta = rgb("A626A4"); + +string eps_memory_circuit_figure = graphic("./memory-circuit-figure.eps"); +string eps_values_binary = graphic("./64bit-values-binary.eps"); +string eps_values_decimal = graphic("./64bit-values-decimal.eps"); +string eps_values_hexa = graphic("./64bit-values-hexa.eps"); +string eps_addr_values_hexa = graphic("./64bit-addr-values-hexa.eps"); +string eps_addr_read = graphic("./64bit-addr-read.eps"); +string eps_addr_pre_write = graphic("./64bit-addr-pre-write.eps"); +string eps_addr_write = graphic("./64bit-addr-write.eps"); +string eps_addr_values_hexa_final = graphic("./64bit-addr-values-hexa-final.eps"); + +pair eps_pos = (0.97*width, height*0.05); +pair eps_fix_offset = (0.0015*width,0); +pair base_text_pos = (0.03*width, height*0.85); +pair definition_base_pos = (0.03*width, height*0.6); +pair operation_base_pos = (0.03*width, height*0.3); +pair newline_offset = (0, -height*0.05); + +void draw_background(bool with_border) +{ + path background = (0, 0) -- (width, 0) -- (width, height) -- (0, height) -- cycle; + fill(background, white); + if (with_border) + draw(background, black); +} + +draw_background(true); +label("\textbf{La mémoire}", (width/2, height*0.95)); +shipout(format("memory-%02d", ++frame_id)); + +label("C'est un composant essentiel qui sert à stocker des données.", base_text_pos, align=SE); +save(); +label(scale(eps_scale)*Label(eps_memory_circuit_figure, eps_pos, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("Défini comme une suite finie de \textbf{cases} mémoires.", definition_base_pos, align=SE); +label("- L'exemple (à droite) comporte 8 cases", definition_base_pos + (0.01*width, 0) + newline_offset*1, align=SE); +save(); +label("- Chaque case contient \textbf{1 octet} : 8 bits", definition_base_pos + (0.01*width, 0) + newline_offset*2, align=SE); +label(scale(eps_scale)*Label(eps_values_binary, eps_pos, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +save(); +label("- Chaque case contient \textbf{1 octet} : un entier $0 \leq n \leq 255$", definition_base_pos + (0.01*width, 0) + newline_offset*2, align=SE); +label(scale(eps_scale)*Label(eps_values_decimal, eps_pos, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("- Chaque case contient \textbf{1 octet} : 2 chiffres héxadécimaux", definition_base_pos + (0.01*width, 0) + newline_offset*2, align=SE); +save(); +label(scale(eps_scale)*Label(eps_values_hexa, eps_pos, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("- Chaque case est identifiée par son \textbf{adresse}", definition_base_pos + (0.01*width, 0) + newline_offset*3, align=SE); +save(); +label(scale(eps_scale)*Label(eps_addr_values_hexa, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("Deux opérations sont possibles sur la mémoire.", operation_base_pos, align=SE); +save(); +label(scale(eps_scale)*Label(eps_addr_values_hexa, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("- \textbf{Lire} la valeur d'une case : \texttt{read(0x02)} $\rightarrow$ \texttt{0x2C}", operation_base_pos + (0.01*width, 0) + newline_offset*1, align=SE); +save(); +label(scale(eps_scale)*Label(eps_addr_read, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +save(); +label(scale(eps_scale)*Label(eps_addr_values_hexa, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label("- \textbf{Écrire} la valeur d'une case : \texttt{write(0x04, 0x6D)}", operation_base_pos + (0.01*width, 0) + newline_offset*1.8, align=SE); +save(); +label(scale(eps_scale)*Label(eps_addr_pre_write, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +save(); +label("~~(l'ancienne valeur de la case est perdue)", operation_base_pos + (0.01*width, 0) + newline_offset*3, align=SE); +label(scale(eps_scale)*Label(eps_addr_write, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); + +restore(); +label(scale(eps_scale)*Label(eps_addr_values_hexa_final, eps_pos + eps_fix_offset, align=NW)); +shipout(format("memory-%02d", ++frame_id)); diff --git a/fig/program/asm-bg-color.svg b/fig/program/asm-bg-color.svg new file mode 100644 index 0000000000000000000000000000000000000000..1ef5326402042cccbd99102526ab995e9da44350 --- /dev/null +++ b/fig/program/asm-bg-color.svg @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="125.03455mm" + height="230.06288mm" + viewBox="0 0 125.03455 230.06288" + version="1.1" + id="svg84483" + sodipodi:docname="asm-bg-color.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview84485" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="0.78127806" + inkscape:cx="229.75175" + inkscape:cy="385.90614" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs84480" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-44.49755,7.339309)"> + <g + id="g993" + transform="translate(-155.50245,-17.339309)"> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9" + width="125.03454" + height="47.714348" + x="200" + y="10" /> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23" + width="125.03454" + height="24.275759" + x="200" + y="215.78712" /> + <rect + style="fill:#d7191c;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7" + width="125.03454" + height="7.1223345" + x="200" + y="208.66479" /> + <rect + style="fill:#2c7bb6;fill-opacity:1;stroke:none;stroke-width:0.500001" + id="rect36611-6-7-9-23-7-9" + width="125.03454" + height="15.678929" + x="200.00002" + y="145.09032" /> + <rect + style="fill:#fdae61;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-0" + width="125.03454" + height="71.386986" + x="200" + y="73.703331" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-2" + width="125.03454" + height="15.98898" + x="200" + y="57.714348" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-2-5" + width="125.03454" + height="48.14489" + x="200" + y="160.5199" /> + </g> + </g> +</svg> diff --git a/fig/program/asm-text-black.svg b/fig/program/asm-text-black.svg new file mode 100644 index 0000000000000000000000000000000000000000..b8b95d707de518320858ab6dfc2170ec7e7e3ee8 --- /dev/null +++ b/fig/program/asm-text-black.svg @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="125.03455mm" + height="230.06288mm" + viewBox="0 0 125.03455 230.06288" + version="1.1" + id="svg84483" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="asm-text-black.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview84485" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="0.78127806" + inkscape:cx="229.75175" + inkscape:cy="385.90614" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs84480" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-44.49755,7.339309)"> + <g + id="g993" + transform="translate(-155.50245,-17.339309)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="200" + y="15.763859" + id="text27860"><tspan + sodipodi:role="line" + id="tspan27858" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="15.763859">index_of:</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="23.701359" + id="tspan27862"> pushq %rbp</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="31.638859" + id="tspan27864"> movq %rsp, %rbp</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="39.576359" + id="tspan27866"> movl %edi, -20(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="47.513859" + id="tspan27868"> movl %esi, -24(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="55.451359" + id="tspan27870"> movq %rdx, -32(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="63.388859" + id="tspan27872"> movl $0, -4(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="71.326355" + id="tspan27874"> jmp .L2</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="79.263855" + id="tspan27876">.L5:</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="87.201355" + id="tspan27878"> movl -4(%rbp), %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="95.138855" + id="tspan27880"> cltq</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="103.07635" + id="tspan27882"> leaq 0(,%rax,4), %rdx</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="111.01385" + id="tspan27884"> movq -32(%rbp), %rax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="118.95135" + id="tspan27886"> addq %rdx, %rax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="126.88885" + id="tspan27888"> movl (%rax), %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="134.82635" + id="tspan27890"> cmpl %eax, -20(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="142.76385" + id="tspan27892"> jne .L3</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="150.70135" + id="tspan27894"> movl -4(%rbp), %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="158.63885" + id="tspan27896"> jmp .L4</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="166.57635" + id="tspan27898">.L3:</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="174.51385" + id="tspan27900"> addl $1, -4(%rbp)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="182.45135" + id="tspan27902">.L2:</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="190.38885" + id="tspan27904"> movl -4(%rbp), %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="198.32635" + id="tspan27906"> cmpl -24(%rbp), %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="206.26385" + id="tspan27908"> jl .L5</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="214.20135" + id="tspan27910"> movl $-1, %eax</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="222.13885" + id="tspan27912">.L4:</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="230.07635" + id="tspan27914"> popq %rbp</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="200" + y="238.01385" + id="tspan27916"> ret</tspan></text> + </g> + </g> +</svg> diff --git a/fig/program/bin-multiline-bg-color.svg b/fig/program/bin-multiline-bg-color.svg new file mode 100644 index 0000000000000000000000000000000000000000..4b408f2ca6634bd0433a882036d4796efd70cb97 --- /dev/null +++ b/fig/program/bin-multiline-bg-color.svg @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="121.62049mm" + height="38.899979mm" + viewBox="0 0 121.62049 38.899979" + version="1.1" + id="svg73210" + sodipodi:docname="bin-multiline-bg-color.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview73212" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="202.55273" + inkscape:cy="80.957092" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs73207" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-24.192036,-76.050582)"> + <g + id="g1052" + transform="translate(13.192034,-170.22696)"> + <rect + style="fill:#fdae61;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7" + width="121.62048" + height="7.7799997" + x="11.000002" + y="261.83752" /> + <rect + style="fill:#2c7bb6;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-8" + width="38.341831" + height="7.7799997" + x="25.967964" + y="269.61752" /> + <rect + style="fill:#d7191c;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-4" + width="38.186172" + height="7.7799997" + x="33.735085" + y="277.39752" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-5" + width="53.482803" + height="7.7799997" + x="11.000002" + y="254.05754" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.500001" + id="rect36611-6-7-9-23-7-93-7-5-3" + width="14.654878" + height="7.7799997" + x="117.96561" + y="246.27754" /> + <rect + style="fill:#fdae61;fill-opacity:1;stroke:none;stroke-width:0.500001" + id="rect36611-6-7-9-23-7-93-7-5-3-1" + width="14.967961" + height="7.7799997" + x="11.000002" + y="269.61752" /> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-0" + width="106.96561" + height="7.7799997" + x="11.000002" + y="246.27754" /> + <rect + style="fill:#fdae61;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-0-6" + width="68.13768" + height="7.7799997" + x="64.482803" + y="254.05754" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-0-6-6" + width="22.735081" + height="7.7799997" + x="11.000002" + y="277.39752" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.5" + id="rect36611-6-7-9-23-7-93-7-0-6-0" + width="68.310692" + height="7.7799997" + x="64.309799" + y="269.61752" /> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.500001" + id="rect36611-6-7-9-23-7-93-7-0-6-0-3" + width="15.375591" + height="7.7799997" + x="71.921257" + y="277.39752" /> + </g> + </g> +</svg> diff --git a/fig/program/bin-multiline-text.svg b/fig/program/bin-multiline-text.svg new file mode 100644 index 0000000000000000000000000000000000000000..2f7bc3fecfc81a01c6513cf429b7f6ff74ec390b --- /dev/null +++ b/fig/program/bin-multiline-text.svg @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="121.62049mm" + height="38.899979mm" + viewBox="0 0 121.62049 38.899979" + version="1.1" + id="svg73210" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="bin-multiline-text.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview73212" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.5625561" + inkscape:cx="202.55273" + inkscape:cy="80.957092" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs73207" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-24.192036,-76.050582)"> + <g + id="g1052" + transform="translate(13.192034,-170.22696)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="10.714749" + y="252.21983" + id="text35097"><tspan + sodipodi:role="line" + id="tspan35095" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="10.714749" + y="252.21983">554889e5897dec8975e8488955e0c745</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="10.714749" + y="260.15732" + id="tspan35099">fc00000000eb248b45fc4898488d1485</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="10.714749" + y="268.09482" + id="tspan35101">00000000488b45e04801d08b003945ec</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="10.714749" + y="276.03232" + id="tspan35103">75058b45fceb118345fc018b45fc3b45</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="10.714749" + y="283.96982" + id="tspan35105">e87cd4b8ffffffff5dc3</tspan></text> + </g> + </g> +</svg> diff --git a/fig/program/bin-singleline-base2-text.svg b/fig/program/bin-singleline-base2-text.svg new file mode 100644 index 0000000000000000000000000000000000000000..d17d2238912859d8feb7ba1ae90e9d0625e6ad7a --- /dev/null +++ b/fig/program/bin-singleline-base2-text.svg @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="140.76659mm" + height="4.8028073mm" + viewBox="0 0 140.76658 4.8028074" + version="1.1" + id="svg79713" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="bin-singleline-base2-text.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview79715" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.104894" + inkscape:cx="326.27564" + inkscape:cy="-4.9778531" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs79710" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-8.4550672,-94.21228)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="8.0736952" + y="98.925171" + id="text35097"><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="8.0736952" + y="98.925171" + id="tspan35105">01010101010010001000100111100...10101</tspan></text> + </g> +</svg> diff --git a/fig/program/bin-singleline-text.svg b/fig/program/bin-singleline-text.svg new file mode 100644 index 0000000000000000000000000000000000000000..3df6c04f3baf57d05eccc16c1268959693802f47 --- /dev/null +++ b/fig/program/bin-singleline-text.svg @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="144.41908mm" + height="4.9454346mm" + viewBox="0 0 144.41908 4.9454346" + version="1.1" + id="svg79713" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="bin-singleline-text.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview79715" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.104894" + inkscape:cx="202.28184" + inkscape:cy="-4.977853" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs79710" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-8.517079,-94.100659)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="8.0736952" + y="98.925171" + id="text35097"><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';stroke-width:0.264583" + x="8.0736952" + y="98.925171" + id="tspan35105">554889e5897dec8975e8488955 ... fff5dc3</tspan></text> + </g> +</svg> diff --git a/fig/program/slides.asy b/fig/program/slides.asy new file mode 100644 index 0000000000000000000000000000000000000000..e6331db1dec3ed55751e6898209f5fe204afff26 --- /dev/null +++ b/fig/program/slides.asy @@ -0,0 +1,145 @@ +import fontsize; + +settings.outformat = "pdf"; +int frame_id = -1; + +defaultpen(font("OT1","cmr","m","n") + fontsize(30pt)); +unitsize(1cm); + +real scale = 10; +real width = 4 * scale; +real height = 3 * scale; +pen magenta = rgb("A626A4"); + +string src_text_black = graphic("./src-text-black.eps"); +string src_text_color = graphic("./src-text-color.eps"); +string src_bg_color = graphic("./src-bg-color.eps"); +string bin_singleline_base2_text = graphic("./bin-singleline-base2-text.eps"); +string bin_singleline_text = graphic("./bin-singleline-text.eps"); +string bin_multiline_text = graphic("./bin-multiline-text.eps"); +string bin_multiline_bg_color = graphic("./bin-multiline-bg-color.eps"); +string asm_text_black = graphic("./asm-text-black.eps"); +string asm_bg_color = graphic("./asm-bg-color.eps"); + +pair base_text_dev = (width*0.53, height*0.85); +pair newline_offset = (0, -height*0.05); +pair newline_offset2 = (0, -height*0.04); + +void draw_background(bool with_border) +{ + path background = (0, 0) -- (width, 0) -- (width, height) -- (0, height) -- cycle; + fill(background, white); + if (with_border) + draw(background, black); +} + +void draw_code(bool colored_font, bool with_background) +{ + pair code_pos = (width*0.03, height*0.9); + + if (with_background) + label(src_bg_color, code_pos, align=SE); + + if (colored_font) + label(src_text_color, code_pos, align=SE); + else + label(src_text_black, code_pos, align=SE); +} + +void draw_vision_dev(bool with_details) +{ + label("\textbf{Vision conception/développement}", base_text_dev, align=SE); + + if (with_details) { + label(" - code source", base_text_dev + 1*newline_offset, align=SE); + label(" - algorithmes", base_text_dev + 2*newline_offset, align=SE); + label(" - composants logiciels", base_text_dev + 3*newline_offset, align=SE); + } +} + +void draw_vision_sysarch() +{ + label("\textbf{Vision système/architecture}", base_text_dev - (0,0.78*height), align=SE); +} + +void draw_mid_separator() +{ + real separator_height = 0.575; + real separator_margin = 0.02; + draw((width*separator_margin, separator_height*height) -- (width*(1-separator_margin), separator_height*height), linewidth(2)); +} + +void draw_bin_multiline(bool with_background) +{ + pair pos = (width*0.03, height*0.20); + if (with_background) + draw(bin_multiline_bg_color, pos, align=SE); + draw(bin_multiline_text, pos, align=SE); +} + +void draw_asm(bool with_background) +{ + pair pos = (width*0.6, height*0.85); + if (with_background) + draw(asm_bg_color, pos, align=SE); + draw(asm_text_black, pos, align=SE); +} + +draw_background(true); +label("\textbf{Qu'est-ce qu'un programme ?}", (width/2, height*0.95)); +shipout(format("slides-%02d", ++frame_id)); +save(); + +picture pic = currentpicture; + +draw_code(true, false); +draw_vision_dev(true); +// TODO: schéma tableau/index/exemple, algorigramme +shipout(format("slides-%02d", ++frame_id)); + +draw_mid_separator(); +draw_vision_sysarch(); +shipout(format("slides-%02d", ++frame_id)); + +pair base_text_problem = (width*0.03, height*0.55); +label("\textbf{Problème : un processeur ne comprend aucun de ces langages !}", base_text_problem, align=SE, rgb("e00000")); +shipout(format("slides-%02d", ++frame_id)); +label("Un processeur ne parle que son \textbf{langage machine}, du binaire !", base_text_problem + newline_offset*1, align=SE); + +draw(bin_singleline_base2_text, (width*0.03, height*0.4), align=SE); +draw("la fonction \textit{index\_of} est une suite de 74 octets", (width*0.45, height*0.41), align=SE); +shipout(format("slides-%02d", ++frame_id)); + +draw(bin_singleline_text, (width*0.03, height*0.35), align=SE); +draw("... que l'on peut représenter en base 16", (width*0.45, height*0.36), align=SE); +draw("(2 caractères = 1 octet)", (width*0.48, height*0.31), align=SE); +shipout(format("slides-%02d", ++frame_id)); + +draw_bin_multiline(false); +draw("... que l'on peut représenter par bloc", (width*0.45, height*0.21), align=SE); +draw("(1 ligne = 16 octets)", (width*0.48, height*0.16), align=SE); +shipout(format("slides-%02d", ++frame_id)); + +restore(); +draw("\textbf{Ce code machine = ce code C ?}", (width*0.03, height*0.55), align=SE, rgb("00a000")); +save(); +draw_code(true, false); +draw_bin_multiline(false); +shipout(format("slides-%02d", ++frame_id)); + +restore(); +draw_code(false, true); +draw_bin_multiline(true); +pair oui_base_text = (width*0.03, height*0.48); +draw("\textbf{Oui !} Chaque \textit{bout} du code machine", oui_base_text, align=SE); +draw("vient d'instructions/données du code C", oui_base_text + newline_offset2*1, align=SE); +shipout(format("slides-%02d", ++frame_id)); + +pair asm_base_text = (width*0.03, height*0.35); +draw("- Ce lien est plus clair en \textbf{assembleur}", oui_base_text - (0,0.2) + newline_offset2*2, align=SE); +draw("~~(code machine $\simeq$ assembleur)", oui_base_text - (0,0.2) + newline_offset2*3, align=SE); +// TODO: montrer instructions (cmp) / données (-1) +draw("- Explications/détails pas dans ce cours", oui_base_text - (0,0.4) + newline_offset2*4, align=SE); +draw("~~(ce sera en cours d'archi et de compilation)", oui_base_text - (0,0.4) + newline_offset2*5, align=SE); +draw_asm(true); +shipout(format("slides-%02d", ++frame_id)); diff --git a/fig/program/src-bg-color.svg b/fig/program/src-bg-color.svg new file mode 100644 index 0000000000000000000000000000000000000000..a0f52d079c8c519670c0d7cebd3b29e08c51e397 --- /dev/null +++ b/fig/program/src-bg-color.svg @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="178.42099mm" + height="85.946777mm" + viewBox="0 0 178.42099 85.946777" + version="1.1" + id="svg3468" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + sodipodi:docname="src-bg-color.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview3470" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.104894" + inkscape:cx="310.88955" + inkscape:cy="157.02864" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs3465" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-19.820629,-162.23519)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="-125.49408" + y="9.4653559" + id="text8776"><tspan + sodipodi:role="line" + id="tspan8774" + style="stroke-width:0.264583" + x="-125.49408" + y="9.4653559" /></text> + <text + xml:space="preserve" + style="font-size:8.46667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="13.814248" + y="30.109333" + id="text32578"><tspan + sodipodi:role="line" + id="tspan32576" + style="font-size:8.46667px;stroke-width:0.264583" + x="13.814248" + y="30.109333" /></text> + <g + id="g70526" + transform="translate(8.8206316,140.66168)"> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-0" + width="178.42099" + height="7.7799997" + x="11" + y="60.84029" /> + <rect + style="fill:#fdae61;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-6" + width="178.42099" + height="7.7799997" + x="11.000002" + y="68.620293" /> + <rect + style="fill:#2c7bb6;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-2" + width="178.42099" + height="7.7799997" + x="10.999997" + y="76.400291" /> + <rect + style="fill:#ffffbf;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-61" + width="178.42099" + height="7.7799997" + x="10.999997" + y="84.18029" /> + <rect + style="fill:#d7191c;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-8" + width="178.42099" + height="7.7799997" + x="10.999997" + y="91.960289" /> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-6-7" + width="178.42099" + height="7.7799997" + x="11.000003" + y="99.740288" /> + <rect + style="fill:#abd9e9;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611" + width="178.42099" + height="15.559998" + x="11" + y="45.280293" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.499999" + id="rect36611-3" + width="178.42099" + height="23.706783" + x="10.999997" + y="21.573507" /> + </g> + </g> +</svg> diff --git a/fig/program/src-text-black.svg b/fig/program/src-text-black.svg new file mode 100644 index 0000000000000000000000000000000000000000..80d28917c88ac1c0558e1acf63b6d9dc3070bce4 --- /dev/null +++ b/fig/program/src-text-black.svg @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="178.42099mm" + height="85.946777mm" + viewBox="0 0 178.42099 85.946777" + version="1.1" + id="svg3468" + sodipodi:docname="src-text-black.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview3470" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.104894" + inkscape:cx="309.98448" + inkscape:cy="156.12357" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs3465" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-19.820629,-162.23519)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="-125.49408" + y="9.4653559" + id="text8776"><tspan + sodipodi:role="line" + id="tspan8774" + style="stroke-width:0.264583" + x="-125.49408" + y="9.4653559" /></text> + <text + xml:space="preserve" + style="font-size:8.46667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="13.814248" + y="30.109333" + id="text32578"><tspan + sodipodi:role="line" + id="tspan32576" + style="font-size:8.46667px;stroke-width:0.264583" + x="13.814248" + y="30.109333" /></text> + <g + id="g70526" + transform="translate(8.8206316,140.66168)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#808080;fill-opacity:1;stroke-width:0.264583" + x="11" + y="26.735989" + id="text22024"><tspan + sodipodi:role="line" + id="tspan22022" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#808080;fill-opacity:1;stroke-width:0.264583" + x="11" + y="26.735989">// Renvoie l'indice de la première occurrence</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#808080;fill-opacity:1;stroke-width:0.264583" + x="11" + y="34.673489" + id="tspan22044">// de value dans le tableau array,</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#808080;fill-opacity:1;stroke-width:0.264583" + x="11" + y="42.610989" + id="tspan22026">// ou -1 si value n'est pas dans array.</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="50.548489" + id="tspan22028">int index_of(int value, int size, int * array)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="58.485989" + id="tspan22030">{</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="66.423485" + id="tspan22032"> for (int i = 0; i < size; ++i) {</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="74.360985" + id="tspan22034"> if (array[i] == value)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="82.298485" + id="tspan22036"> return i;</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="90.235985" + id="tspan22038"> }</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="98.173485" + id="tspan22040"> return -1;</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="106.11098" + id="tspan22042">}</tspan></text> + </g> + </g> +</svg> diff --git a/fig/program/src-text-color.svg b/fig/program/src-text-color.svg new file mode 100644 index 0000000000000000000000000000000000000000..2e0dea7fa4e7ea255dab18f995d369b044aabe4a --- /dev/null +++ b/fig/program/src-text-color.svg @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="178.42099mm" + height="85.946777mm" + viewBox="0 0 178.42099 85.946777" + version="1.1" + id="svg3468" + sodipodi:docname="src-text-color.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview3470" + pagecolor="#ffffff" + bordercolor="#999999" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.104894" + inkscape:cx="309.98448" + inkscape:cy="156.12357" + inkscape:window-width="1916" + inkscape:window-height="1032" + inkscape:window-x="1920" + inkscape:window-y="22" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs3465" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-19.820629,-162.23519)"> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="-125.49408" + y="9.4653559" + id="text8776"><tspan + sodipodi:role="line" + id="tspan8774" + style="stroke-width:0.264583" + x="-125.49408" + y="9.4653559" /></text> + <text + xml:space="preserve" + style="font-size:8.46667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="13.814248" + y="30.109333" + id="text32578"><tspan + sodipodi:role="line" + id="tspan32576" + style="font-size:8.46667px;stroke-width:0.264583" + x="13.814248" + y="30.109333" /></text> + <g + id="g70526" + transform="translate(8.8206316,140.66168)"> + <text + xml:space="preserve" + style="font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#808080;fill-opacity:1;stroke-width:0.264583" + x="11" + y="26.735989" + id="text22024"><tspan + sodipodi:role="line" + id="tspan22022" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#40a14f;fill-opacity:1;stroke-width:0.264583" + x="11" + y="26.735989">// Renvoie l'indice de la première occurrence</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#40a14f;fill-opacity:1;stroke-width:0.264583" + x="11" + y="34.673489" + id="tspan22044">// de value dans le tableau array,</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#40a14f;fill-opacity:1;stroke-width:0.264583" + x="11" + y="42.610989" + id="tspan22026">// ou -1 si value n'est pas dans array.</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="50.548489" + id="tspan22028"><tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan66598">int</tspan> <tspan + style="fill:#0184bc;fill-opacity:1" + id="tspan68798">index_of</tspan>(<tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan69526">int</tspan> value, <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan66600">int</tspan> size, <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan66602">int *</tspan> array)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="58.485989" + id="tspan22030">{</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="66.423485" + id="tspan22032"> <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67330">for</tspan> (<tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67334">int</tspan> i = <tspan + style="fill:#c18401;fill-opacity:1" + id="tspan70980">0</tspan>; i <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67336"><</tspan> size; <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67338">++</tspan>i) {</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="74.360985" + id="tspan22034"> <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67332">if</tspan> (array[i] <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67340">==</tspan> value)</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="82.298485" + id="tspan22036"> <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67342">return</tspan> i;</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="90.235985" + id="tspan22038"> }</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="98.173485" + id="tspan22040"> <tspan + style="fill:#a626a4;fill-opacity:1" + id="tspan67344">return</tspan> <tspan + style="fill:#c18401;fill-opacity:1" + id="tspan70982">-1</tspan>;</tspan><tspan + sodipodi:role="line" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:monospace;-inkscape-font-specification:'monospace Bold';fill:#000000;fill-opacity:1;stroke-width:0.264583" + x="11" + y="106.11098" + id="tspan22042">}</tspan></text> + </g> + <text + xml:space="preserve" + style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.264583" + x="177.60817" + y="218.42087" + id="text70986"><tspan + sodipodi:role="line" + id="tspan70984" + style="stroke-width:0.264583"></tspan></text> + </g> +</svg>