Matroids Matheplanet Forum Index
Moderiert von matroid
Informatik » Technische Informatik » Assembler Programmierung
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Assembler Programmierung
derechteChickenWing
Junior Letzter Besuch: im letzten Monat
Dabei seit: 24.06.2020
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-06-26




Meine Frage lautet:
Welche Funktion erfüllt dieser Code-Abschnitt innerhalb des gesamten Programms?
Mit welchem Konstrukt einer höheren Programmiersprache (C, C++, Java etc.) ist dieser Code-Abschnitt vergleichbar im Bezug auf die Semantik?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 1328
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-06-26


Es wird geprüft, ob die Summe von vier eingelesenen Zahlen gerade ist. Wo liegt denn dein Problem, das nachzuvollziehen?

Was man wissen muss, ist, dass $t7$ der Name des Registers $15$ ist.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27412
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2020-06-27


Mach einfach noch 5 Fragen mit dem Titel „Assembler Programmierung“ auf, und niemand blickt mehr durch😖


-----------------
Bild



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
gonz
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.02.2013
Mitteilungen: 3568
Aus: Harz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-06-27


Man müsste wissen, welcher MIPS es sein soll. Und sich ein Handbuch suchen, damit man weiß, was welche Instruktionen bedeuten, wie die Register heisst, etc. Ich habe mal, da ich das nicht kannte, nach MFHI gesucht und bin auf folgendes gestoßen:



( Suchbegriffe bei google: "MIPS MFHI" )

Das ist Teil eines Tutorials. Die Frage ist, ob und wieweit man sich damit beschäftigen will... Es könnte Spaß machen :)

Ich hatte übrigens beim ersten Hinsehen vermutet, dass die Routine prüft, ob die Eingabe eine Primzahl ist. Etwas daneben

Wenn man damit herumspielen will, sollte man sich noch einen MIPS Simulator besorgen, damit man den Code auch ausführen kann ...




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 1328
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2020-06-27


2020-06-27 09:42 - gonz in Beitrag No. 3 schreibt:
Man müsste wissen, welcher MIPS es sein soll.

Eigentlich nicht. Ich sehe in dem Beispiel nichts, was nicht schon durch MIPS-I abgedeckt wäre.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
derechteChickenWing
Junior Letzter Besuch: im letzten Monat
Dabei seit: 24.06.2020
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2020-06-27


2020-06-26 22:44 - zippy in Beitrag No. 1 schreibt:
Es wird geprüft, ob die Summe von vier eingelesenen Zahlen gerade ist. Wo liegt denn dein Problem, das nachzuvollziehen?

Was man wissen muss, ist, dass $t7$ der Name des Registers $15$ ist.


Ich weiß auch dass was es macht . Es werden in einer Schleife 42 Zahlen eingelesen, aufaddiert und dann überprüft ob die Summe positiv oder negativ ist.

Was ich nicht so verstehe ist:
Welche Funktion erfüllt dieser Code-Abschnitt innerhalb des gesamten Programms?
Mit welchem Konstrukt einer höheren Programmiersprache (C, C++, Java etc.) ist dieser
Code-Abschnitt vergleichbar im Bezug auf die Semantik?
9 label1:
la $a0, stdin
10 li $v0, 4
syscall
li $v0, 5
subi $t7, $t7, 1
syscall
15 add $t4, $t4, $v0
16 bne $t7, $0, label1



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 1328
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, eingetragen 2020-06-27


2020-06-27 13:51 - derechteChickenWing in Beitrag No. 5 schreibt:
Ich weiß auch dass was es macht . Es werden in einer Schleife 42 Zahlen eingelesen, aufaddiert und dann überprüft ob die Summe positiv oder negativ ist.

Das ist beides falsch:
1. Es werden nicht 42, sondern nur 4 Zahlen eingelesen. Einen Hinweis, warum das so ist, findest du in meinem ersten Beitrag.
2. Die Summe wird nicht im Hinblick auf ihr Vorzeichen, sondern auf ihre Teilbarkeit durch 2 geprüft.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
derechteChickenWing
Junior Letzter Besuch: im letzten Monat
Dabei seit: 24.06.2020
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2020-06-28


label1:
la $a0, stdin
li $v0, 4
syscall
li $v0, 5
subi $t7, $t7, 1
syscall
add $t4, $t4, $v0
1bne $t7, $0, label1

Was hat dieser Code für eine Funktion ? Das verstehe ich nicht.  



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
derechteChickenWing
Junior Letzter Besuch: im letzten Monat
Dabei seit: 24.06.2020
Mitteilungen: 11
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, vom Themenstarter, eingetragen 2020-06-28


Der Code ist dafür verantwortlich zunächst den String „Enter an integer: “ auszugeben und anschließend
die vom Nutzer eingegebene Integerzahl im Register $v0 zu speichern. Aber was hat das für eine Funktion innerhalb des gesamten Programms ?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 10838
Aus: Wien
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, eingetragen 2020-07-02


Hallo ChickenWing,
der Code wird besser lesbar, wenn Du ihn in einen Quelltextbereich stellst:
MIPS
  1. label1:
  2. la $a0, stdin
  3. li $v0, 4
  4. syscall
  5. li $v0, 5
  6. subi $t7, $t7, 1
  7. syscall
  8. add $t4, $t4, $v0
  9. bne $t7, $0, label1
Ist das der Programmteil, den Du meinst?
Deine Beschreibung in Beitrag No. 8 bezieht sich auf die Zeilen 9-12 und 14. Wozu dienen die restlichen Befehle?

Servus,
Roland



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]