From 5feafd8877f1ca2d301abec5680023950f3361c7 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Tue, 21 Nov 2023 22:16:42 +0100 Subject: [PATCH] move files --- docs/_navbar.md | 12 ++++-- docs/arm/README.md | 4 -- docs/{ => bachelor}/README.md | 2 +- docs/{ => bachelor}/arm/ASM.md | 35 +++++++++++++++++- docs/{ => bachelor}/arm/PLA.md | 0 docs/bachelor/arm/README.md | 4 ++ .../arm/img/Pasted image 20231116153738.png | Bin .../arm/img/Pasted image 20231116154303.png | Bin .../arm/img/Pasted image 20231116154853.png | Bin .../arm/img/Pasted image 20231116155200.png | Bin docs/{ => bachelor}/transmission_process.md | 0 docs/index.html | 4 ++ 12 files changed, 50 insertions(+), 11 deletions(-) delete mode 100644 docs/arm/README.md rename docs/{ => bachelor}/README.md (99%) rename docs/{ => bachelor}/arm/ASM.md (70%) rename docs/{ => bachelor}/arm/PLA.md (100%) create mode 100644 docs/bachelor/arm/README.md rename docs/{ => bachelor}/arm/img/Pasted image 20231116153738.png (100%) rename docs/{ => bachelor}/arm/img/Pasted image 20231116154303.png (100%) rename docs/{ => bachelor}/arm/img/Pasted image 20231116154853.png (100%) rename docs/{ => bachelor}/arm/img/Pasted image 20231116155200.png (100%) rename docs/{ => bachelor}/transmission_process.md (100%) diff --git a/docs/_navbar.md b/docs/_navbar.md index 1189a1e..946b2c9 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -1,5 +1,9 @@ -* [ARM](/arm/) - * [PLA - Programmation en langage assembleur](/arm/PLA.md) - * [ASM - Assembleur ARM](/arm/ASM.md) +* [Bachelor](/bachelor/) + * [ARM](/bachelor/arm/) + * [Transmission Process](/bachelor/transmission_process.md) + * [STM32](/STM32/) +* [ARM](/bachelor/arm/) + * [PLA - Programmation en langage assembleur](/bachelor/arm/PLA.md) + * [ASM - Assembleur ARM](/bachelor/arm/ASM.md) +* [Transmission Process](/bachelor/transmission_process.md) * [STM32](/STM32/) -* [Transmission Process](/transmission_process.md) \ No newline at end of file diff --git a/docs/arm/README.md b/docs/arm/README.md deleted file mode 100644 index 951fb3c..0000000 --- a/docs/arm/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Taille des paquets de bits - -[PLA.md](PLA.md) -[ASM.md](ASM.md) \ No newline at end of file diff --git a/docs/README.md b/docs/bachelor/README.md similarity index 99% rename from docs/README.md rename to docs/bachelor/README.md index 18e8926..aceedb8 100644 --- a/docs/README.md +++ b/docs/bachelor/README.md @@ -26,7 +26,7 @@ Alice <-- Bob: another authentication Response ## load from external files -![kroki-excalidraw](./excalidraw.json) +![kroki-excalidraw](../excalidraw.json) ## Wavedrom ```wavedrom diff --git a/docs/arm/ASM.md b/docs/bachelor/arm/ASM.md similarity index 70% rename from docs/arm/ASM.md rename to docs/bachelor/arm/ASM.md index b07d74a..f39e919 100644 --- a/docs/arm/ASM.md +++ b/docs/bachelor/arm/ASM.md @@ -43,7 +43,15 @@ A chaque opération mathématique ou logique, l'ALU peut positionner des fanions Chaque instruction du processeur ARM peut-être exécutée sous condition - Pour rendre une instruction conditionnelle, il suffit d'ajouter deux lettres à sa mnémonique - L'opcode de chaque instruction comprend un champ "condition" - ![[Pièces jointes/Pasted image 20231120103537.png]] + +```packetdiag +packetdiag { +colwidth = 32; +node_height = 15; +28-31: Cond; +} +``` + ```armasm CMP r0, r1 ; Update flags based on r0 - r1 ADDGT r0, r0, #4 ; If r0 greater than r1 THEN r0 = r0 + 4 @@ -52,4 +60,27 @@ ADDLT r1, r1, #4 ; IF r0 less than r1 THEN r1 = r1 + 4 ; ELSE ADDLT is skipped ``` ![[Pièces jointes/Pasted image 20230928151308.png]] -# Instructions de branchement \ No newline at end of file +# Instructions de branchement +## Instruction B +`B{cond} label` + +Le champ offset autorise un saut de $\pm$ 32 Mbytes $(2^{24}<<2) /2$ + + + + +# Carry +Pour déterminer si une opération active le flag de carry, interprétez les deux arguments comme des entiers non signés. +## Addition (inclus CMN) +Le flag `C`est set à $1$ si l'addition produit un carry sinon le flag et set à $0$. + +Soit l'addition $x+y$ avec $x$ et $y$ interprété comme entier non signé. Si $x+y$ est trop grand pour être représenté comme un entier de 32 bit, `C` est set à $1$. Si $x+y$ peut être représenté comme un entier de 32 bit, `C` est set à $0$. + +## Soustraction (inclus CMP) +Le flag `C` est set à $0$ si la soustraction produit un borrow (p ex. si le résultat en non signé underflow). Sinon le flag est set à $1$. + +Soit la soustraction $x-y$ avec $x$ et $y$ interprété comme entiers non signé. Si $x