tanszek:oktatas:szamitastechnika:arm_assembly_alapok
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tanszek:oktatas:szamitastechnika:arm_assembly_alapok [2022/09/05 21:06] – létrehozva knehez | tanszek:oktatas:szamitastechnika:arm_assembly_alapok [2026/09/29 18:22] (current) – [Összehasonlítás] knehez | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Az ARM processzort választottuk, | Az ARM processzort választottuk, | ||
| - | Ezen a linken találunk egy teljes értékű ARM CPU szimulátort: | + | Ezen a linken találunk egy teljes értékű ARM CPU szimulátort: |
| ==== Összeadás ==== | ==== Összeadás ==== | ||
| Line 44: | Line 44: | ||
| Jól látható, hogy a megfelelő regiszterekben megjelentek a számok, és az eredmény is a r4-esben. | Jól látható, hogy a megfelelő regiszterekben megjelentek a számok, és az eredmény is a r4-esben. | ||
| - | === Összehasonlítás === | + | ==== Összehasonlítás |
| Az előző ábrán látható a **Current Program Status Register (CPSR)** regiszter legalul (ez az állapot regiszter). Ennek egyes bitjei jelölik azt, hgy egy művelet eredménye nulla, negatív, átvitelt eredményez, | Az előző ábrán látható a **Current Program Status Register (CPSR)** regiszter legalul (ez az állapot regiszter). Ennek egyes bitjei jelölik azt, hgy egy művelet eredménye nulla, negatív, átvitelt eredményez, | ||
| Line 59: | Line 59: | ||
| addlt r0, r0, #5 /* lt => less than. Ha (r0 < 3) akkor adj hozzá 5-öt */ | addlt r0, r0, #5 /* lt => less than. Ha (r0 < 3) akkor adj hozzá 5-öt */ | ||
| cmp r0, #3 /* r0 - 3. Zero bit 1 lesz. Negative bit 0 lesz */ | cmp r0, #3 /* r0 - 3. Zero bit 1 lesz. Negative bit 0 lesz */ | ||
| - | addlt r0, r0, #5 /* Ha (r0 < 3) akkor adj hozzá 1-et az r0-hoz */ | + | addlt r0, r0, #1 /* Ha (r0 < 3) akkor adj hozzá 1-et az r0-hoz */ |
| bkpt | bkpt | ||
| Line 77: | Line 77: | ||
| - | === Elágazások === | + | ==== Elágazások |
| Line 96: | Line 96: | ||
| A cmp összehasonlítja 0-val a r4-et, a **bne** (branch if not equals) ágazz el ha nem egyenlő. | A cmp összehasonlítja 0-val a r4-et, a **bne** (branch if not equals) ágazz el ha nem egyenlő. | ||
| - | === Memória kezelés === | + | ==== Memória kezelés |
| <code asm> | <code asm> | ||
| Line 118: | Line 118: | ||
| </ | </ | ||
| - | A példában látható hogyan lehet változókat tárolni és a memóriacímeket ahol el vannak tárolva, hogyan lehet módosítani, | + | A példában látható, hogyan lehet változókat tárolni és a memóriacímeket, ahol el vannak tárolva, hogyan lehet módosítani, |
| - | === Verem === | + | ==== Verem ==== |
| - | + | A verem adattárolásra szolgál, memóriacímét az **sp** regiszter mutatja, és új érték verembe helyezésekor az sp regiszter csökken 4 byteot. | |
| - | A verem adattárolásra szolgál, memóriacímét az **sp** regiszter mutatja és új érték verembe helyezésekor az sp regiszter csökken 4 byteot. | + | |
| <code asm> | <code asm> | ||
tanszek/oktatas/szamitastechnika/arm_assembly_alapok.1662411997.txt.gz · Last modified: by knehez
