Benutzerbeiträge von „Satyria“
Aus C und Assembler mit Raspberry
Ein Benutzer mit 1.341 Bearbeitungen. Das Konto wurde am 2. Juli 2024 erstellt.
8. April 2025
- 09:0209:02, 8. Apr. 2025 Unterschied Versionen +4 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 09:0209:02, 8. Apr. 2025 Unterschied Versionen +9.399 Bytes K Gleitkommaoperationen Keine Bearbeitungszusammenfassung
- 08:5908:59, 8. Apr. 2025 Unterschied Versionen +2.096 Bytes K GPIO Programmierung Keine Bearbeitungszusammenfassung
- 08:5808:58, 8. Apr. 2025 Unterschied Versionen +1.090 Bytes K Systemaufrufe Keine Bearbeitungszusammenfassung
- 08:5008:50, 8. Apr. 2025 Unterschied Versionen +833 Bytes K Makros in Assembler Keine Bearbeitungszusammenfassung
- 08:4808:48, 8. Apr. 2025 Unterschied Versionen +374 Bytes N Makros in Assembler Die Seite wurde neu angelegt: „== Makros == .macro Name übergabe1,übergabe2,... Beispiel: .macro speicher wert1,wert2 ldr x0,=\wert1 ldr x1,=\wert2 .endm .global _start _start: speicher buffer1,buffer2 ... .data buffer1: .fill 255,1,0 buffer2: .fill 255,1,0 Beim Aufruf "speicher" wird an dieser Stelle des Codes einfach das Makro eingesetzt. Das definieren des Makros erzeugt keinen Code!“
- 08:4808:48, 8. Apr. 2025 Unterschied Versionen +13 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 08:4808:48, 8. Apr. 2025 Unterschied Versionen +1 Byte K Programmieren mit ARM64 Assembler →Inhalt
- 08:4708:47, 8. Apr. 2025 Unterschied Versionen +13 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 08:4608:46, 8. Apr. 2025 Unterschied Versionen +98 Bytes K Direktiven Keine Bearbeitungszusammenfassung
- 07:5807:58, 8. Apr. 2025 Unterschied Versionen +1.694 Bytes K Laden und Speichern von Werten Keine Bearbeitungszusammenfassung
- 07:5607:56, 8. Apr. 2025 Unterschied Versionen +21 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 07:5607:56, 8. Apr. 2025 Unterschied Versionen +1.395 Bytes N Direktiven Die Seite wurde neu angelegt: „* .data -> Dezimalzahl: Beginnt mit 1-9 und enthält 0-9 -> Oktalzahl: Beginnt mit 0 und enthält 0-7 -> Binärzahl: Beginnt mit 0b und enthält 0-1 -> Hexadezimal: Beginnt mit 0x und enthält 0-f -> Gleitkommawerte: Beginnt mit 0f oder 0e und enthält die Gleitkomma-Zahl -> Präfix: "-" nimmt das Zweierkomplement, "~" nimmt das Einerkompliment .byte -0xa3, -22, ~0b11010010 Directive Beschreibung .ascii Eine Zeichenfolge in doppelten Anführungszeichen…“
- 07:5507:55, 8. Apr. 2025 Unterschied Versionen +18 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 07:5307:53, 8. Apr. 2025 Unterschied Versionen +35 Bytes K Register und Speicher →Speicherorganisation und -adressierung aktuell
- 07:5007:50, 8. Apr. 2025 Unterschied Versionen +358 Bytes N Logische Operatoren Die Seite wurde neu angelegt: „and{s} Xd, Xs, Operand2 eor{s} Xd, Xs, Operand2 orr{s} Xd, Xs, Operand2 bic{s} Xd, Xs, Operand2 | and | eor | orr | bic | Xs | 1100 | 1100 | 1100 | 1100 | Operand2 | 1010 | 1010 | 1010 | 1010 | Ergebnis | 1000 | 0110 | 1110 | 0100 | * CMN Xn, Operand2 -> addiert Operand2 von Xn * TST Xn, Operand2 -> Bitweise AND von Operand2 und Xn“
- 07:4907:49, 8. Apr. 2025 Unterschied Versionen +26 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 07:4907:49, 8. Apr. 2025 Unterschied Versionen +652 Bytes K Aliase Keine Bearbeitungszusammenfassung
- 07:4707:47, 8. Apr. 2025 Unterschied Versionen +3.225 Bytes N Aliase Die Seite wurde neu angelegt: „== Aliase == -> Verwendung von Aliase, um den Code besser zu verstehen, Problem beim debuggen, objdump, da eventuell andere Aliases verwendet werden. Die von dir beobachtete Diskrepanz resultiert aus dem Unterschied zwischen der **Assembly-Syntax** und der tatsächlichen **Maschinencodierung** sowie der Art und Weise, wie `objdump` und der Assembler die Befehle interpretieren. Lass uns das Schritt für Schritt erklären: --- ### **1. ARM64-Befehlsalias…“
- 07:4607:46, 8. Apr. 2025 Unterschied Versionen +14 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 07:4507:45, 8. Apr. 2025 Unterschied Versionen +3.067 Bytes N Shiften und Rotation Die Seite wurde neu angelegt: „ mov x0, #0b00000011 // Lege 3 nach x0 (GDB p /t $x0) lsl x0,x0,#4 // -> 00110000 In der ARM64-Assemblerprogrammierung spielen Shift- und Rotationsoperationen sowie der Umgang mit dem Carry-Flag eine wichtige Rolle für die Manipulation von Bits in Registern. Hier ist eine detaillierte Übersicht: --- ### **1. Shiften (Bitverschiebung)** #### **Logical Shift Left (LSL)** - Verschiebt die Bits eines Registers nach links. -…“
- 07:4407:44, 8. Apr. 2025 Unterschied Versionen +25 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 07:4307:43, 8. Apr. 2025 Unterschied Versionen +138 Bytes N Big vs. Little Endian Die Seite wurde neu angelegt: „== Big vs. Little Endian == -> Reihenfolge der Bytes im Speicher -> ARM-Prozessor erlaubt beide Versionen -> Linux verwendet Little Endian“
- 07:4207:42, 8. Apr. 2025 Unterschied Versionen −1.720 Bytes K Programmieren mit ARM64 Assembler Keine Bearbeitungszusammenfassung
- 07:4107:41, 8. Apr. 2025 Unterschied Versionen +914 Bytes K Diassemblieren Keine Bearbeitungszusammenfassung
- 07:3907:39, 8. Apr. 2025 Unterschied Versionen +842 Bytes N Diassemblieren Die Seite wurde neu angelegt: „== Diassemblieren == -> objdump -s -d HelloWorld.o > HelloWorld.diassem Hello.o: file format elf64-littleaarch64 Contents of section .text: 0000 200080d2 e1000058 a20180d2 080880d2 ......X........ 0010 010000d4 000080d2 a80b80d2 010000d4 ................ 0020 00000000 00000000 ........ Contents of section .data: 0000 48656c6c 6f20576f 726c6421 0a Hello World!. Disassembly of section .text: 000000000000…“
- 07:3907:39, 8. Apr. 2025 Unterschied Versionen +20 Bytes K Programmieren mit ARM64 Assembler Keine Bearbeitungszusammenfassung
7. April 2025
- 13:2113:21, 7. Apr. 2025 Unterschied Versionen −25.479 Bytes K Programmieren mit ARM64 Assembler Keine Bearbeitungszusammenfassung
- 13:0313:03, 7. Apr. 2025 Unterschied Versionen +7.250 Bytes K Systemaufrufe →Verweis auf alle verfügbaren Linux-Systemaufrufe
- 12:5012:50, 7. Apr. 2025 Unterschied Versionen +1 Byte K Programmieren mit ARM64 Assembler →Inhalt
- 12:5012:50, 7. Apr. 2025 Unterschied Versionen +577 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 12:4312:43, 7. Apr. 2025 Unterschied Versionen +4 Bytes K Gleitkommaoperationen →Vergleich von Gleitkommazahlen (fcmpe / fcsel)
- 12:4112:41, 7. Apr. 2025 Unterschied Versionen +322 Bytes K Gleitkommaoperationen Keine Bearbeitungszusammenfassung
- 12:1912:19, 7. Apr. 2025 Unterschied Versionen +3.125 Bytes K Gleitkommaoperationen Keine Bearbeitungszusammenfassung
- 11:5811:58, 7. Apr. 2025 Unterschied Versionen +4.561 Bytes N Gleitkommaoperationen Die Seite wurde neu angelegt: „In diesem Kapitel werden wir uns mit Gleitkommaoperationen im ARM64-Assembler beschäftigen. Die Schwerpunkte liegen auf den FPU-Registern (Floating Point Unit), einem Überblick über die Register und deren Verwendung in Funktionen. Ebenso werden wichtige Hinweise zur Verwendung der Register für Gleitkommaoperationen gegeben. == FPU-Register: Überblick == Unter ARM64 haben wir eine dedizierte Einheit für Gleitkommaoperationen, die sogenannte FPU (Fl…“
- 11:4911:49, 7. Apr. 2025 Unterschied Versionen +4 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 11:4411:44, 7. Apr. 2025 Unterschied Versionen +203 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 11:4011:40, 7. Apr. 2025 Unterschied Versionen −161 Bytes K Interaktion mit C Keine Bearbeitungszusammenfassung
- 11:3911:39, 7. Apr. 2025 Unterschied Versionen +4.740 Bytes N Interaktion mit C Die Seite wurde neu angelegt: „In diesem Kapitel werden wir die Integration von ARM64-Bit-Assembler und C-Programmen beleuchten. Die folgenden Themen werden behandelt: * C-Funktionen aus Assembler aufrufen * Assemblerfunktionen in C aufrufen * Inline-Assembler in C * Bibliotheken verwenden * C-Funktionen aus Assembler aufrufen == C-Funktionen aus Assembler aufrufen == Um C-Funktionen aus Assembler heraus aufzurufen, müssen Sie die folgenden Schritte beachten: * Deklaration der C-F…“
- 11:2811:28, 7. Apr. 2025 Unterschied Versionen +4 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 10:1110:11, 7. Apr. 2025 Unterschied Versionen +176 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 09:5009:50, 7. Apr. 2025 Unterschied Versionen +106 Bytes K GPIO Programmierung Keine Bearbeitungszusammenfassung
- 09:3809:38, 7. Apr. 2025 Unterschied Versionen +4.681 Bytes N GPIO Programmierung Die Seite wurde neu angelegt: „GPIO-Programmierung mit ARM64-Bit-Assembler In diesem Kapitel werden wir uns mit der GPIO-Programmierung (General Purpose Input/Output) auf dem Raspberry Pi beschäftigen. Dazu besprechen wir: Grundlagen der GPIO-Programmierung Direkte Steuerung der GPIO-Pins Besondere Register und Konfiguration Grundlagen der GPIO-Programmierung GPIO steht für "General Purpose Input/Output" und bezieht sich auf die universell einsetzbaren Pins auf dem Raspberry Pi, d…“
- 09:3809:38, 7. Apr. 2025 Unterschied Versionen +4 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 09:2909:29, 7. Apr. 2025 Unterschied Versionen +149 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 09:0209:02, 7. Apr. 2025 Unterschied Versionen +98 Bytes K Programmieren mit ARM64 Assembler →Inhalt
- 08:3808:38, 7. Apr. 2025 Unterschied Versionen +55 Bytes K Übersicht der Linux ARM64 Systemaufrufen Keine Bearbeitungszusammenfassung
- 08:3608:36, 7. Apr. 2025 Unterschied Versionen +52 Bytes K Übersicht der Linux ARM64 Systemaufrufen Keine Bearbeitungszusammenfassung
- 08:1408:14, 7. Apr. 2025 Unterschied Versionen +36 Bytes K Übersicht der Linux ARM64 Systemaufrufen Keine Bearbeitungszusammenfassung
- 07:4607:46, 7. Apr. 2025 Unterschied Versionen +40 Bytes K Übersicht der Linux ARM64 Systemaufrufen Keine Bearbeitungszusammenfassung