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