Ergebnis 1 bis 5 von 5

Thema: Alpha Assembler - Fragethread

  1. #1

    Alpha Assembler - Fragethread

    So, wie der Titel schon sagt, habe ich eine Frage bezüglich Assembler. Der Titel ist allgemein gehalten, weil wahrscheinlich noch mehr dazukommen werden. Die entsprechende LVA scheint nach dem Least-Information-Required-Prinzip zu funktionieren, wobei anscheinend irgendwelche Assembler-Kenntnisse, oder zumindest Orte eines guten Tutorials ihrer Meinung nach schon mehr als die "Least Information" sind.

    Naja, jedenfalls: wie kann man 64-Bit-Zahlen in Register schreiben?
    Klingt schon so nach einer ziemlichen Noob-Frage, aber wie gesagt finde ich darauf keine wirklichen Hinweise, bzw. nur welche, die sich als falsch herausstellen. Ich hab's mit "mov 0x..., $1" probiert, aber da meckert GCC, dass er nur 1Byte-Zahlen so nehmen will. :-/


    Vielen Dank im Voraus! ^^

  2. #2
    Prozessor? Modus? Welchen Assembler? Ich bin zwar generell zu faul dir zu helfen, aber das sind irgendwie die ersten fragen die mir dazu eingefallen sind. ^_~

    Geändert von Mog (05.03.2007 um 15:10 Uhr)

  3. #3
    Zitat Zitat von Mog Beitrag anzeigen
    Prozessor? Modus? Welchen Assembler?
    Alpha-Assembler steht im Titel, System ist Tru64 UNIX. Für alle anderen Fragen müsste man mir mitteilen, wie ich das rauskriegen kann, die Übungsleitung ist wie gesagt verdammt geizig mit jeder Art von Informationen, bzw. ziemlich unfähig darin, sie einigermaßen übersichtlich anzubieten. <___<''

    Das Handbuch, das sie uns immerhin zur Verfügung stellen ist hier zu finden (PopUps müssen für "digital-unix.tuwien.ac.at" aktiviert sein), falls sich das wer mit mehr Ahnung bei solchen Sachen als ich ansieht, findet er dabei sicher was (hoffe ich mal). ._____.
    Zitat Zitat
    Ich bin zwar generell zu faul dir zu helfen

  4. #4
    Ich hab zwar keine Ahnung, aber das Alpha klingt fuer mich nach einem RISC statt einem CISC Prozessor. Hast du es schon mit

    (u)ldq - (Un)aligned load quadword
    (u)stq - (Un)aligned store quadword

    versucht ?

    mov sollte unter RISC nur zum bewegen von einem in ein anderes Register zu gebrauchen sein.

    Edit: Schau mal vielleicht hier nach -> Kapitel 3

    Geändert von Ineluki (05.03.2007 um 18:19 Uhr)

  5. #5
    Zitat Zitat von Ineluki Beitrag anzeigen
    Ich hab zwar keine Ahnung, aber das Alpha klingt fuer mich nach einem RISC statt einem CISC Prozessor. Hast du es schon mit

    (u)ldq - (Un)aligned load quadword
    (u)stq - (Un)aligned store quadword

    versucht ?
    Danke, das geht schon mal in die richtige Richtung (und ist hilfreicher als Mog <___<), aber laut der Beschreibung sind die nur dazu da, um den Wert von Adressen in ein Register zu lesen. :-/ Ich hab's trotzdem probiert, geht aber erwartungsgemäß nicht.
    Und wie ich den Wert in den Speicher kriege weiß ich auch nicht, sonst ginge es so zumindest auf Umwegen. <___<

    Beim Instruction Set habe ich natürlich schon gesucht, aber da ich wie gesagt keine Ahnung von/Erfahrung mit Assembler habe, hatte ich nicht wirklich eine Ahnung, was ich suche, bzw. was die Hälfte der Beschreibungen überhaupt bedeuten. <___<'' ldiq (Load immediate quadword) klang noch eindeutig am Vielversprechendsten ("Loads the destination register with the value of an expression that can be computed at assembly time."), aber obwohl das in der Manual steht kennt's der GCC nicht ("Error: unknown opcode `ldiq'")!


    Also: es wird weiterhin Hilfe gebraucht. ^^''

    Edit: OK, jetzt nicht mehr. ^^''
    Mir wurde jetzt von einem Kollegen geholfen, mein blöder Fehler (natürlich :-/) war, dass ich den vom GCC für die gegebene Funktion generierten Code gleich fürs Grundgerüst übernommen habe, ohne die einzelnen Bestandteile zu checken. Einer dieser war ".nomacro", der ldiq verhindert hat. ^^''

    Geändert von drunken monkey (06.03.2007 um 21:43 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •