Seite 1 von 1

Eingangstests - Assembler

Verfasst: 17.05.2008 22:43
von Hans Oberlander
Eingangstests - Assembler
1. Erläutern Sie Funktion und Arbeitsweise des Asemblers und des Linkers (3P) 2. Erklären sie die segmentierte Adressverwaltung in Bezug auf dei i80286 Architektur (1P) 3. Nennen Sie mindesens einen Vor- und Nachteil eines Makros und eines Unterprogramms (2P) 4. Wozu dient ein Stack? Erklären Sie die beiden Befehle zur Steuerung eines Stacks (2P) 5. Welche Registerbreite unterstützt die i80286 Architektur? Welche Arten von Registern/Segmenten gibt es? (5P) 6. Welche drei Adressierungsarten unterstützt die i80286 Architektur? Nennen und erklären Sie diese (3P) 8. Wozu dient ein Interrupt? Durch welche Ereignisse werden Interrupts ausgelöst? Was versteht man unter einem Interruptvektor? Wie wird ein aufgerufener Interrupt behandelt? Was muss dabei im Prozessor passieren? In Frage 7 war ein Stück Programm gegeben, in dem verschiedene Werte in Register geschrieben, inkrementiert, dekrementiert, addiert usw. wurden. Man musste nach jedem Schritt die Belegung der Register hinschreiben.
Also, gestern gabs 30 punkte auf den Eingangstest, 30minuten Zeit und dann wurde extra noch jeder zu seinem Programm gefragt

die Fragen:
Flagregister erklären, Arten davon und Beispiele
Interrupt erklären
ein hexadez. angegebenes offset ausrechnen
Unterschied XCHG und MOV
2 Arten nennen wie man eine Null in Register BX schreiben kann
Unterschied RCL und ROL
3 bruchstücken Quellcode mit sprungbefehlen, in jedem musste man entscheiden ob der sprung ausgeführt wird oder nicht. Diese Sprünge wurden einmal durch CX-dekrementierung durch loop ausgeführt, die anderen beiden Sprungbefehle waren Ja und Jb
Adressierungsarten nennen mit Bsp

waren jetzt noch lang nicht alle aufgaben, kann vielleicht noch jemand ergänzen

meddle 2005-12-13: Hier unser Test. Es gab mehrere Gruppen, dies ist einer davon: (sinngemäß)

1. Nennen der Segmentregister eines 8086 und deren Länge (1 Punkt)
2. Welche logische Adresse beschreibt 9800:0300 und warum ist diese Form der Adressierung notwendig? (1P)
EDIT: Müsste wohl heißen: Welche physikalische Adresse beschreibt die logische Adresse 9800:0300...
3. Welche Bedeutung haben das Parity-Flag und das Zero Flag? (2P)
4. Was ist indirekte Adressierung (1P)
5. MOV ES:120h, 1234h Welches Bild ergibt sich im Speicher (Also was steht nach dem Befehl wo im Speicher?) (1P)
6. Der Stack - Was ist das und wofür wird er genutzt? (2P)
7. Was ist beider Einbindungeigener Interrupt Service Routinen zu beachten und wie sichert man deren korrekten Aufruf? (1P)
8. Wie werden in Assembler Konstanten definiert (mit Beipspiel!) (1P)
9. Unterschied Makro / Unterprogramm. Jeweils Vor- und Nachteile beschreiben (2P)

Liebe Grüße Jens

Spezies 08/15 2005-12-20:

- bei der Frage zu den Flags werden zufällig zwei abgefragt. Alle können drankommen.

- bei der Frage zu den Segmentregistern kann auch nach den Rechen- und Datenregistern gefragt werden (auch nach deren Länge).

WS 2007
1. Arbeitsweise Assembler & linker
2. sequentielle Adressierung
3. vor-und Nachteile von Makros und Unterprogrammen
4. Registerbreite des x80286; welche Register/Segmente gibt es
5. der x80286 hat 3 verschiedene Adressierungsarten . Nennen und erklären!
6. Programmtabelle gegeben; Registerinhalte gesucht
text ax bx
--------------------------
MOV ax,0000h -
mov bx,1233h
inc bx
dec ax
sub bx,ax
or bx,12FFh

7. Interrupts: Auslöser, Begriff: Interruptvektor, Reaktion des Prozessors

Re: Eingangstests - Assembler

Verfasst: 27.07.2008 19:13
von Bob
Koloquiumsfragen Assembler

Vorbereitung Assembler

Verfasst: 13.01.2009 22:16
von Synso-Z4
Inspiriert von dem Vorbereitungs-PDF aus dem Von-Neumann-Abteil hab ich ähnliches zur Vorbereitung von Assembler gemacht. Ein paar wenige Sachen übernommen aus dem benannten PDF, einiges aus der Anleitung Assembler und noch einige andere Dinge hinzugefügt.

Re: Eingangstests - Assembler

Verfasst: 09.12.2009 21:26
von Hans Oberlander
zippi hat geschrieben:eigentlich genügt es, die anleitung zum praktikum assembler durchzulesen. und du solltest natürlich auch das programm selber geschrieben haben. dann kann eigentlich nichts passieren.
meine fragen waren (so weit ich mich errinnere :D ):
- wozu benötigt man flags? am beispiel erklären
- wozu dient der interruptvektor
- dann musste man noch paar sprungsequenzen untersuchen und den nächsten befehl der ausgeführt werden soll nennen
- adressierungsarten nennen mit bsp
- format von assembleranweisungen
- adressberechnung (segment+offset)

rest weiß ich nich mehr, is ja auch schon zwei wochen her. war aber relativ einfach, wenn du die anleitung ließt
viel erfolg

Re: Vorbereitung Assembler

Verfasst: 20.12.2010 20:08
von boardmarker1
DeathLink6.0 hat geschrieben:Inspiriert von dem Vorbereitungs-PDF aus dem Von-Neumann-Abteil hab ich ähnliches zur Vorbereitung von Assembler gemacht. Ein paar wenige Sachen übernommen aus dem benannten PDF, einiges aus der Anleitung Assembler und noch einige andere Dinge hinzugefügt.
kleine Anmerkung: bei der Datei Teil "Zentrale Steuerschleife" fehlt das "WriteBack" am Ende

Re: Eingangstests - Assembler

Verfasst: 10.12.2011 17:28
von vwzs10
Hier mal unser Test vom letzten Montag.

Achso und bei uns war das der Herr Sebastian Hegler, blos noch als Info.

Re: Eingangstests - Assembler

Verfasst: 13.12.2011 10:07
von ThatGuy
Ebenfalls vielen Dank! Hier noch die Fragen des gestrigen Eingangstestats:

(Betreuer: Dipl.-Ing. Oliver Arnold)
  1. Erläutern Sie Funktion und Arbeitsweise des Assemblers und Linkers. (3P)
  2. Was ist segmentierte Adressverwaltung? Wie funktioniert sie bei der i80286-Architektur? (2P)
  3. Welche drei Adressierungsarten unterstützt die i80286-Architektur? Erläutern Sie zwei davon! (3P)
  4. Nennen Sie die zur Ansteuerung des Matrixdisplays verwendeten Register (3P)
  5. Nennen Sie jeweils mindestens einen Vor- und Nachteil eines Makros und eines Unterprogramms! (2P)
  6. Welche Arten von Befehlen gibt es? Nennen Sie mindestens ein Beispiel für jede Art. (3P)
  7. Der folgende Programmausschnitt wird von einem i80286-Prozessor abgearbeitet. Geben Sie die Inhalte der Register AX und BX jeweils nach Bearbeitung des angegebenen Befehls in hexadezimaler Schreibweise an. (4P)
    BefehlRegister AXRegister BX
    MOV AX,0000h-
    MOV BX,5678h
    DEC AX
    INC BX
    ADD BX, AX
    OR BX,FF00h
  8. Wozu dient ein Interrupt? Durch welche Ereignisse werden Interrupts ausgelöst? Was versteht man unter einem Interruptvektor? Wie wird ein aufgetretener Interrupt behandelt? Was muss dabei im Prozessor passieren? (5P)

Re: Eingangstests - Assembler

Verfasst: 13.12.2011 19:07
von et-xmp-82
ThatGuy hat geschrieben:
  1. Erläutern Sie Funktion und Arbeitsweise des Assemblers und Linkers. (3P)
  2. Was ist segmentierte Adressverwaltung? Wie funktioniert sie bei der i80286-Architektur? (2P)
  3. Welche drei Adressierungsarten unterstützt die i80286-Architektur? Erläutern Sie zwei davon! (3P)
  4. Nennen Sie die zur Ansteuerung des Matrixdisplays verwendeten Register (3P)
  5. Nennen Sie jeweils mindestens einen Vor- und Nachteil eines Makros und eines Unterprogramms! (2P)
  6. Welche Arten von Befehlen gibt es? Nennen Sie mindestens ein Beispiel für jede Art. (3P)
  7. Der folgende Programmausschnitt wird von einem i80286-Prozessor abgearbeitet. Geben Sie die Inhalte der Register AX und BX jeweils nach Bearbeitung des angegebenen Befehls in hexadezimaler Schreibweise an. (4P)
    BefehlRegister AXRegister BX
    MOV AX,0000h-
    MOV BX,5678h
    DEC AX
    INC BX
    ADD BX, AX
    OR BX,FF00h
  8. Wozu dient ein Interrupt? Durch welche Ereignisse werden Interrupts ausgelöst? Was versteht man unter einem Interruptvektor? Wie wird ein aufgetretener Interrupt behandelt? Was muss dabei im Prozessor passieren? (5P)
Wir mussten heut bei unserem Assemblerpraktikum genau den selben Test schreiben. Unser Betreuer war der Herr Dipl.-Ing. Steffen Kunze.

Re: Eingangstests - Assembler

Verfasst: 18.12.2012 20:55
von reztuneb
Heute kam unter anderem dran:
1. Adressierungsarten und je ein Beispiel nennen.
2. Was ist der Unterschied zwischen JB und JL?
3. Sign- und Zero-Flag erklären.
4. Was bedeuten FIFO und LIFO? Je ein Beispiel nennen.
5. Wie entsteht ein ausführbares Programm aus dem Quelltext?
6. Was ist der Unterschied zwischen Makros und Unterprogrammen? Einen Vorteil und einen Nachteil von Unterprogrammen nennen.
7. Wie groß ist ein Speichersegment bei der 80286-Architektur maximal?
8. Was steht nach dem Befehl mov DS:130h, F485h im Speicher?

Re: Eingangstests - Assembler

Verfasst: 10.01.2013 20:13
von Rums
Dr. Schingnitz ist wirklich ein super Tutor. :D

Eingangstest:

1) Unterschied JB und JMP erklären
-> Bedingt unbedingt und Reichweite (Segement und 127/128)

2) 3 Adressierungsarten und je ein Beispiel

3) Zu was dienen die Flags? Ein Flag erklären.

4) Nach welchem Prinzip arbeitet ein Stack. Welche Befehle nutzt man mit dem Stack?

5) Wo landen wir wenn wir 0050:0050 haben? Also 4 Bit linksschieben + Offset

6) Was muss man tun (In Bezug auf Beispielprogramm) um den Punkt aufs Display zu bekommen.

7) Dann musste man ankreuzen. Dazu den Loop befehl kennen. Und eben wie JB und JL sich unterscheiden.

8) Interrupttabelle erklären.

Re: Eingangstests - Assembler

Verfasst: 24.01.2013 23:11
von Master
Wie beim Von-Neumann-Simulator-Praktikum, habe ich auch für den Assemblereingangstest eine Zusammenfassung (bzw. eine Erweiterung zu dem weiter oben aufgeführten PDF) erstellt, mit der die meisten und am häufigsten gestellten Fragen beantwortet werden können.
Keine Garantie auf Richtigkeit und Vollständigkeit. ;)
Viel Erfolg allen!

Re: Eingangstests - Assembler

Verfasst: 02.12.2014 16:21
von torte5
Ergänzung der Lernzusammenfassung, ich hab einfach mal alles wichtige von weiter oben zusammengeschrieben und ein wenig ergänzt. Sollte alles richtig sein!
Zur Sicherheit noch einmal alle (INTEL)-JMP Befehle, da der sehr geehrte Prof. Urbas diese so treffend darstellte.

Mit der von Master sollte eine (fast) komplette Übersicht aller Fragen zum 1. und 2. Praktikum zur Verfügung stehen.

Eingangstests - Assembler

Verfasst: 19.12.2014 13:49
von Tyr3al
Dieses Jahr war bei Herr Hegler quasi der gleiche der Test dran wie 2011 schon (siehe vwzs10).
Außer den oben genanten Fragen mussten noch 3 Arten das AX Register zu Nullen angegeben und nach Geschwindigkeit sortiert werden. Ggf. waren noch Sprünge oder Zahlen anders, aber die Fragen waren die gleichen.

Noch zwei Tipps.
1.) Falls ihr gerade noch am Programmieren seid und die Aufgabenstellung immer noch fordert, das euer Programm bei einer Tastaturabfrage abbrechen soll:
Geht unter Linux nicht und war nur zu DOS-Zeiten über BIOS-Interrupts möglich auf die ihr unter Linux nicht mehr zugreifen könnt.
2.) Falls euer Programm nur undefinierten Mist macht und ihr trotz debuggen das nicht beheben könnt, setzt euch einfach mal an einen anderen PC. Wir haben 1 1/2 Stunden oder mehr wegen einem kaputten Parallelport verschwendet ...

Re: Eingangstests - Assembler

Verfasst: 03.01.2015 12:38
von torte5
@Tyr3al
Tastaturabfrage geht durchaus über: sys_ioctl und sys_read, siehe dazu z.B. http://forum.nasm.us/index.php?topic=1132.0
weiterer Hinweis: Bitte keine Stringinstruktionen nutzen! Wir sollen zwar für 80386er programmieren, aber das soll auf AMD laufen. :cry:

Re: Eingangstests - Assembler

Verfasst: 21.01.2016 16:18
von devthrash
Der Eingangstest im WS15/16 bei Dr. Schingnitz zum Thema ARM Assembly sah folgendermaßen aus:

- Nennen sie 4 Komponenten des Broadcom BCM2835 SoC (Rechenkern, Videokern, GPIO controller, Kommunikationsschnittstellen)

- Nennen sie jeweils zwei Vor- und Nachteile der Programmerstellung in Assembler!

- Welche Speicherarchitektur verwendet der ARM auf dem Raspberry Pi
-- aus Nutzersicht? (von-Neumann)
-- intern? (Harvard, getrennter Befehls- und Datenspeicher)

- Welche Komponenten besitzt ein software Debugger? (Benutzerschnittstelle, Symbolerkennung, Hardwareschnittstelle)

- Was ist ein Stack-Pointer?

- Wozu dienen die GPFSELx Register im Broadcom SoC? Nennen sie 2 Konfigurationsbeispiele! (Hier einfach mal das Datenblatt befragen ;) )

- Was versteht man bei der GPIO Konfiguration unter Alternate Functions? (siehe Datenblatt)

Insgesamt hatte man zum Beantworten der Aufgaben 20 Minuten Zeit, ist also definitiv machbar. Insgesamt 24 BE die auf 6 Punkte normiert werden.

Re: Eingangstests - Assembler

Verfasst: 18.01.2017 16:16
von frazz2912
Am 18.1.17 war folgender Eingangstest dran:
(soweit ich mich noch an alles erinnere)

1.) Welche Befehlspipeline hat/benutzt ARM?
A1: Fetch -> Decode -> Execute

2.) Wie viele General Purpose Register gibt es in jedem Modus und wie viele Bits haben sie jeweils?
A2: 13 Register mit jeweils 32 Bits

3.) Wozu dient der Stack? Wie benutzt man ihn?
A3: (hier bin ich mir unsicher, in wie weit die Antwort stimmt)
im Stack wird die Rücksprungadresse gespeichert
-> so kann der Zustand vor dem Sprung wieder hergestellt werden
der Stack wird mit "push" und "pop" bedient

4.) Was ist ein Label?
A4: eine Adresse (hier gehts noch etwas ausführlicher)

5.) Wie viele Flag-Bits besitzt das Program Status Register?
A5: vier

6.) Was ist der Unterschied zwischen dem Carry- und dem Overflow-Bit?
A6: Carry-Bit -> wird bei allen Operationen gesetzt
Overflow-Bit -> wird bei Vorzeichen behafteten Zahlen gesetzt

Re: Eingangstests - Assembler

Verfasst: 09.01.2018 21:27
von elektrotitte
Heute im Eingangstest:
1) 3 Schritte zum Ausführen eines Assembler-Programms nennen
2) ARM Befehlspipeline aufzeichnen und einen Vorteil nennen
3) Zwei Arten r0 auf 0 zu setzen mit Assembler aufschreiben
4) Was bedeutet das Carryflag?
5) Welche mathematische Funktion hat BGE als Sprungbedingung?
6) Unterschied B und BL erklären
7) Was für eine C-Funktion realisiert "mov pc, lr" ?
8) 5 Zeilen Code und man muss die Zeile, zu der der Srpung geht ankreuzen
9) Was bedeutet "LIFO"? Ein Beispiel nennen
10) Pullup Widerstand zeichnen und erklären

Re: Eingangstests - Assembler

Verfasst: 17.12.2018 22:36
von lomancer
heute kam der Eingangtest bei uns wie folgende Fragen, welche ganz anders als vorherigen Vorbereitungen waren.

1.Gibt es immer auf SoC (System on the Chip) ein Betriebsystem? Welches Betriebsystem kommt meistens gängig dazu?
2.Was bedeutet Compiler, Linker, Interpreter? Welche Funktion hat JIT (Just in Time compiler)
3.Warum wäre es sinnvoll, auf Assembler zu programmiern? Im Vergleich mit anderen Hochsprachen?
4.Was ist ein make? Was braucht make zu nutzen?

5.Es gibt RISC (Reduced instruction set computer)- CISC(Complex Instruction Set Computing) Architektur für Prozessor.
Welche Architektur wird vom ARM benutzt?
und vom Intel 17 core?
Was ist RISC ?

6.Was ist Debbuger bei unserem Praktikum?
7.Was ist eclipse? Welche Compiler gibt es auf C/C++?
8. Hexidezimale /Binäre Zahlen umwandeln.
0xFB534
0b101001
Viel Erfolg!

Re: Eingangstests - Assembler

Verfasst: 15.01.2019 12:40
von MrNick7373
der heutige Eingangstest

1) Befehlspipeline des ARM?
fetch, decode, execute

2) Anzahl general-purpose-Register und deren Breite?
13 Stück, 32 Bit breit

3)wofür nutzt man einen Stack und wie?
Sicherung von Register, Befehlszeiger
push(Quelle), pop(Ziel)

4)Anzahl der ständig aktualisierten Flags?
4 Stück

5)was sind Labels?
Art Methode, von Sprüngen benutzt

6)carry- ,overflow Flag, was ist der genaue Unterschied?

Re: Eingangstests - Assembler

Verfasst: 22.01.2019 19:28
von s1175487
1.Gibt es immer auf SoC (System on the Chip) ein Betriebsystem? Welches Betriebsystem kommt meistens gängig dazu?

Nein; Mirco Soft, Linux, Mac

2.Was bedeutet Compiler, Linker, Interpreter? Welche Funktion hat JIT (Just in Time compiler)

Compiler:
Erstellen Object-Code der Zielsystemarchitektur
Erkennt und markiert Verweise auf unbekannte Sytem- oder Bibliothekfunktionen.

Linker:
verbindet Object-Code und Bibliotheken zu einem vollständig spezifizierten ausführbaren Binary.

Interpreter:
Ein Nachteil der Interpretersprachen ist die im Vergleich zu kompilierten Programmen deutlich langsamere Ausführungsgeschwindigkeit
ein Computerprogramm, das einen Programm-Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausführbare Datei übersetzt, sondern den Quellcode Reihe für Reihe einliest, analysiert und ausführt.

JIT:
zur Laufzeit des Programms lauffähigen Maschinencode zu erzeugen

3.Warum wäre es sinnvoll, auf Assembler zu programmiern? Im Vergleich mit anderen Hochsprachen?

kürzer Laufzeit
besser zu deuggen
besser das Programmablauf zu verstehen

4.Was ist ein make? Was braucht make zu nutzen?

ein vielseitiges Programm, das aus gewissen Abhängigkeit ( prerequisites ) bestimmte Ziele ( targets) erzeugt.
erstellt “ makefile”, es besteht aus 3 Richtlinien: Traget, Voraussetzung, Befehl

5.Es gibt RISC (Reduced instruction set computer)- CISC(Complex Instruction Set Computing) Architektur für Prozessor.
Welche Architektur wird vom ARM benutzt?
und vom Intel 17 core?
Was ist RISC ?

RISC wird vom ARM benutzt.
CISC wird vom Intel 17 core benutzt.
RISC:
für die Assemblerprogrammierung komfortablen Befehlssatz hin zu einfach zu dekodierenden und extrem schnell ausführenden Befehl
reduzierte Befehelssatz —> schnell zu dekodieren und einfach auszuführen
ermöglicht zudem höhere Taktfrequenzen.
Befehle alle selbes Format —> schneller geladen

6.Was ist Debbuger bei unserem Praktikum?

gdb-multiarch

7.Was ist eclipse? Welche Compiler gibt es auf C/C++?

ein Integrated Development Environment ( IDE), ein grafisches Softwarewerkzeug zum Erstellen von Quellentext.
Eclipse hat keine Compiler auf C/C++

8. Hexidezimale /Binäre Zahlen umwandeln.
0xFB534
0b101001

0b1111 1011 0101 0011 0100
0x29

Assember

Verfasst: 23.01.2019 08:15
von kingtong404
Hier Mal die Sammlung von Eingangtest vor 23.1.2019 . Die Antworten sind aber nicht 100% sicher.

Re: Eingangstests - Assembler

Verfasst: 21.01.2020 10:27
von Sina
Der Eingangstest heute war sehr ähnlich zu den Fragen von den letzten Jahren.

1. Pipeline von einem ARM? 3P
fetch, decode, execute

2. WIe viele general-purpose-register gibt es und wie breit sind sie? 2P
13 Stück, 32 Bit breit

3. Was ist ein Stack und wie verwendet man ihn? 3P
Speichert Registerinhalte und Rücksprungsadresse, push (Quelle), pop (Ziel)

4. Wie viele condition Flags gibt es? 1P
4

5. Unterschied zwischen Carry- und Overflow-Flag? 2P
Carry: Wenn es bei Zahlen ohne Vorzeichen zu einem Überschreiten der Speicherkapazitäten kommt (mehr als 32 Bit).
Overflow: Wenn es bei Zahlen mit Vorzeichen zu einer Überschreitung kommt. Das bedeutet, dass im 32. Bit das Vorzeichen geändert wird.

6. Was ist ein Label? 1P
Art: Adresse
Wird von Sprungbefehlen verwendet