Informatik

1.140 Mitglieder, 5.051 Beiträge

Wieso wird die Funktion übersprungen - ARM Programmieren?

Ich programmiere gerade mit ARM. Hier habe ich ein Programm, was den Inhalt von StringA in StringB kopiert (das funktioniert problemlos). Das Programm habe ich dann um die Funktion reduzieren erweitert, sodass aus dem StringB nur Zahlen extrahiert werden und diese mit einem Semikolon getrennt werden. Nun habe ich das Problem, dass wenn der Kopiervorgang beendet wurde (nullzeichen), das Programm dann in die main auf bl reduzieren springt, dann aber die Funktion überspringt und sich direkt mit pop {pc} beendet. Wo liegt mein Fehler, wieso wird die reduzieren Funktion übersprungen? // Kopieren und reduzieren .file "copyreduce.S" .text @ legt eine Textsection fuer PrgrammCode + Konstanten an .align 2 @ sorgt dafuer, dass nachfolgende Anweisungen auf einer durch 4 teilbaren Adresse liegen @ unteren 2 Bit sind 0 .global main @ nimmt das Symbol main in die globale Sysmboltabelle auf .type main,function main: push {lr} @ Ruecksprungadresse und Register sichern ldr R5, Adr_StringA ldr R6, Adr_StringB mov R0, r5 mov R1, R6 @ .. bl kopieren @ .. bl reduzieren @ .. @ bl sortieren pop {pc} kopieren: @ hier Ihr Programm zum Kopieren eines String loop_kopieren: LDRB R3, [R0], #1 STRB R3, [R1], #1 CMP R3, #0 BNE loop_kopieren BX LR reduzieren: LDR R1, Adr_StringB @ Lade die Adresse von StringB in R1 MOV R2, R1 @ Setze R2 als Schreibzeiger in StringB loop_reduzieren: LDRB R3, [R1], #1 @ Lade das aktuelle Zeichen aus StringB in R3 und inkrementiere R1 CMP R3, #0 @ Prfe, ob das Zeichen das Nullzeichen ist BEQ ende_reduzieren @ Beende die Funktion, wenn das Nullzeichen erreicht ist CMP R3, #'0' @ Prfe, ob das Zeichen eine Ziffer ist BLT skip_char @ Springe zum n¦chsten Zeichen, wenn kleiner als '0' CMP R3, #'9' BGT skip_char @ Springe zum n¦chsten Zeichen, wenn gr￶￟er als '9' @ Speichere das Zeichen, wenn es eine Ziffer ist STRB R3, [R2], #1 @ Speichere die Ziffer in StringB am Schreibzeiger R2 und inkrementiere R2 MOV R3, #';' @ Lade das Semikolon in R3 STRB R3, [R2], #1 @ Fge ein Semikolon in StringB ein B loop_reduzieren @ Gehe zum n¦chsten Zeichen skip_char: B loop_reduzieren @ Gehe zum n¦chsten Zeichen ende_reduzieren: MOV R3, #0 @ Lade das Nullzeichen in R3 STRB R3, [R2] @ Setze das Nullzeichen am Ende von StringB BX LR @ Kehre zur Main-Funktion zurck Adr_StringA: .word StringA @ auf dieser Speicherstelle liegt die Adresse, @ welche auf das erste Zeichen von StringA zeigt Adr_StringB: .word StringB .Lfe1: .size main,.Lfe1-main // .data-Section fuer initialisierte Daten .data StringA: .asciz "Te 3 st 2!1" StringB: .space 256 // .comm-Section fuer nicht initialisierte Daten // .comm StringB, 256 @ Speicherbereich mit der max. Groesse eines StringA reservieren // End of File

Ich welcher Komplexitätsklasse P, NP, NP-vollständig, NP-schwer liegt die Absolute Differenz zweier Zahlen?

Ich welcher Komplexitätsklasse P, NP, NP-vollständig, NP-schwer liegt die absolute Differenz zweier Zahlen? absdiff(x, y) = |x − y| Es handelt sich hier um eine primitive Rekursion, welche auch loop Berechenbar ist. Somit müsste dies auf jedenfall in der Komplexitätsklasse P liegen. Wenn man nun davon ausgeht, dass P ist Teilemenge von NP gilt, dann müsste die absolute Differenz in P und NP liegen. MFG
Bild zum Beitrag

Chomsky Grammatik Theoretische Informatik?

a) L2 ist vom Typ 1 L3 ist vom Typ 2 L1 ? b) Man könnte zu L1 eine reguläre Grammatik angeben, z. B. S -> aA |aS A -> bC C -> cC | cD D -> d Wie man sieht ist die Grammatik zur Sprache L1 regulär Typ 3. Wenn man aber an dann z. B. an das Pumping Lemma für Typ 3 Sprachen denkt, dann kann man ja nur eine Stelle Pumpen. Womit das Pumping Lemma zeigen würde, das die Sprache nicht von Typ 3 bzw. regulär ist. Welchen Typ hat L1 jetzt in der Chomsky-Hierarchie?
Bild zum Beitrag

Hilfe bei KV-Diagramm?

Ich habe mir aus der Wahrheitstabelle ein KV-Diagramm erstellt, um die minimierte konjunktive Normalform herauszufinden. Dabei komme ich auf: (¬A + ¬D) * (¬B + ¬C) * (¬C + ¬D) * (C + D). Mein Prof. kommt hierbei allerdings in seinem Lösungsansatz auf: (B + C) * (A + D) * (C + D) * (¬C + ¬D). Könntet ihr mal drüber schauen und mir sagen ob ich falsch liege und wenn ja, am besten noch wieso :D. Vielen Dank schonmal
Bild zum Beitrag

Gibt es Unterschiede zwischen allgemeinen Softwareentwickler, FIA, Mathematisch-technischer Softwareentwickler in Berufsausbildung und B.Sc?

Gibt es Unterschiede zwischen einem • allgemeinen Softwareentwickler, • Fachinformatiker für Anwendungsentwicklung (FIA), • Mathematisch-technischer Softwareentwickler (Berufsausbildung), • Mathematisch-technischer Softwareentwickler ( B.Sc), oder sind alle einfach nur Softwareentwickler? _________ Wenn jemand sagt, ich bin ein Softwareentwickler, fragt ihr die Person, was für ein Softwareentwickler (wie am oberen Beispiel), oder belässt ihr es dabei?

Ethernet Switch Weiterleitungstabelle?

Hey, ich habe folgendes Netz: Wie genau sieht die Weiterleitungstabelle nach folgenden Vorfällen aus? A einen Rahmen nach D sendet • D mit einem Rahmen nach A antwortet • C einen Rahmen nach D sendet • D mit einem Rahmen nach C antwortet Hier stellen sich mir zwei Fragen: Werden z.B die Verbindungen auf der gleichen "Strecke" zweimal eingetragen , also A->D und D-> A ? Werden gleiche Verbindungen eingetragen, also : A->D und C->D? Gruß
Bild zum Beitrag

DP-HDMI Adapter plus Glasfaser HDMI Kabel nicht möglich?

Moin zusammen, vielleicht hat ja einer von euch eine Idee. Folgendes Szenario: Ich will meinen Rechner an den Fernseher anschließen. -Vega56 über HDMI Ausgang verursacht Bildaussetzer am Fernseher, egal ob mit Kupfer oder Glasfaser Kabel. -Vega56 mit aktivem DP-HDMI Adapter funktioniert mit einem Kupferkabel (10m) super. Aber mit Glasfaser (15m) leider gar nicht - ich bekomme einfach kein Bild. Das Problem ist dass mein Kabel mindestens 15m sein muss, HDMI Kabel aber nur bis 10m länge funktionieren. Der nächste Schritt wäre halt 1x5m und 1x10m HDMI Kabel inklusive Repeater in der Mitte zu nutzen und zu hoffen, dass das funktioniert. Aber davon mal abgesehen frage ich mich einfach wieso zur Hölle das Kupferkabel an dem Adapter funktioniert, aber das Glasfaserkabel nicht.... Vielleicht hat ja jemand von euch eine Idee oder vllt schon einmal das selbe Problem gehabt. Gerne auch Kaufempfehlungen für andere Adapter. Das wäre zumindest etwas, was ich noch ausprobieren möchte. Bislang nutze ich den " "BENFEI Aktiv DisplayPort auf HDMI Adapter" von Amazon.