|
journeyman
|
journeyman
Joined: Mar 2003
|
Verflixt, sowas verpasse ich gerade?? Und ich Idiot sitz immer noch in der Uni und arbeite... <img src="/ubbthreads/images/graemlins/disagree.gif" alt="" />
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
AHHH! Ein geringer Trost, aber immerhin ein Trost! Ällabätsch! <img src="/ubbthreads/images/graemlins/tongue.gif" alt="" />
( Nein, <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> !)
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Danke für eure Erklärungen, aber wirklich verstanden habe ich es immer noch nicht.
Was bedeuten die Zahlen ? Was bedeuten die Befehle ? Wie wirken sich diese Befehle auf den Speicher aus, und wieviel füllt so eine Zahl im Speicher überhaupt ?
Muß nicht noch Speicher für die Befehle abgezogen werden, oder wo werden diese Befehle eigentlich gelagert ? (Jetzt sagt nicht "im Prozessor !" !)
Woraus besteht das, was im Speicher ist ? Sind das Bits ? Byte ? Nybbles ? Words ?
Wenn TheOnlyDJCat schreibt : 901 919 , heißt das dann, daß dann, wenn Punkt 901 erreicht ist, zu Punkt 919 gesprungen wird ?
Wenn da steht 902 MOV 1 , was macht die 1 dann da ? Oder besser : Was bedeutet die dort ? Worauf bezieht sie sich ?
Wenn da SUB 0 steht, von was wird abgezogen ? Von dem, was in der Zeile darüber steht ?
Fragen über Fragen ...
When you find a big kettle of crazy, it's best not to stir it. --Dilbert cartoon
"Interplay.some zombiefied unlife thing going on there" - skavenhorde at RPGWatch
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Auf das was darunter steht!
Und 901 919 ist z.B. so eine "zweite Zeile" Er schreibt doch: Du mußt immer (meistens) zwei aufeinanderfolgende Zeilen im Zusammenhang sehen.
Die Befehle selbst kenn´ ich leider auch nicht so en detail (bzw. kann mich nicht mehr an ihren genauen Funktionsaufbau erinnern! <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> ).
Der Speicher ist zunächst mal als Adreß-Raum gelistet. Wieviel Speichergröße eine davon verwaltet... müßte sowas im Bereich 1 - 8 Byte (oder Bit) sein.
Ach so, und: Die Antwort heißt "im Prozessor"! <img src="/ubbthreads/images/graemlins/badsmile2.gif" alt="" /> <img src="/ubbthreads/images/graemlins/tongue.gif" alt="" /> <img src="/ubbthreads/images/graemlins/badsmile2.gif" alt="" />
Ragon
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Ich wußte es !! Ich wußte es !!!
Ach, und im Übrigen hätte ich mir dann doch eine ein klitzekleines bißchen längere Antwort gewünscht. Für deine erste Antwort hast du dir ja auch Zeit gelassen ... <img src="/ubbthreads/images/graemlins/badsmile2.gif" alt="" />
Last edited by AlrikFassbauer; 14/11/03 11:34 PM.
When you find a big kettle of crazy, it's best not to stir it. --Dilbert cartoon
"Interplay.some zombiefied unlife thing going on there" - skavenhorde at RPGWatch
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Alrik, sehe ich das richtig, daß Du hier eine Einführung in Assembler-Programmierung wünschst? <img src="/ubbthreads/images/graemlins/eek.gif" alt="" />
Nigel Powers: "There are only two things I can't stand in this world. People who are intolerant of other people's cultures... and the Dutch!"
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Ich wußte es !! Ich wußte es !!!
Ach, und im Übrigen hätte ich mir dann doch eine ein klitzekleines bißchen längere Antwort gewünscht. Für deine erste Antwort hast du dir ja auch Zeit gelassen ... <img src="/ubbthreads/images/graemlins/badsmile2.gif" alt="" /> Da hatte ja auch eine wirklich Hilfsbedürftige ihre verzweifelte Bitte um Unterstützung in den Äther gehaucht! <img src="/ubbthreads/images/graemlins/badsmile2.gif" alt="" />
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
GRNNNHHHHH <img src="/ubbthreads/images/graemlins/memad.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" />
Un´dafürhab´ichzweiStundenneben"DieFirma"hermichabgestrampeltoderwas!? <img src="/ubbthreads/images/graemlins/suspicion.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" />
*seufz* <img src="/ubbthreads/images/graemlins/ouch.gif" alt="" /> <img src="/ubbthreads/images/graemlins/silly.gif" alt="" /> du hast offenbar noch mehr verpasst: zum ichweisnichtmehrwievieltenmal "pulp fiction" auf rtl2 die definition von "cool" wurde mit harvey keitel als mr. wolf neu bewertet <img src="/ubbthreads/images/graemlins/biggrin.gif" alt="" /> toller streifen..... n8
|
|
|
|
journeyman
|
journeyman
Joined: Mar 2003
|
Naja, mit 901 919 ist in dem Fall natürlich gemeint, dass in Zeile 901 (das stimmt natürlich ganz, gemeint ist Adresse 901, aber Zeilennummer passt schon <img src="/ubbthreads/images/graemlins/smile.gif" alt="" /> ) die Zeile 900 vervollständigt wird, die da vollständig heißt: SET 0 919. (Also setze an Adresse 919 eine 0) Das is ja auch ein vernünftiger Startwert zum Aufaddieren...
|
|
|
|
veteran
|
OP
veteran
Joined: Mar 2003
|
@Ragon: Also wie CJP oder JMP funktioniert, ist mir schon klar. <img src="/ubbthreads/images/graemlins/smile.gif" alt="" /> Achja und ich finde es toll, dass ihr sowas erst macht, wenn ihr studiert...
AC ist der Accumulator.
@Alrik: MOV 1 + 992 heißt, dass der Inhalt in der Adresse 992 in den AC geschrieben wird. MOV 0 + 992 bedeutet dagegen, dass nicht der Inhalt in 992 sondern 992 in den AC geschrieben wird. Das gleiche Prinzip gilt für ARI 0 bzw. 1. Mit ARI sind die Rechenbefehle addieren, subtrahieren, multiplizieren und dividieren gemeint (ADD steht zum Beispiel für Addieren).
Im Grunde genommen ist das alles im Grunde genommen sehr einfach.
Wegen dem Programm von unserem Lehrer. Wie kann ich da aber mein Programm eingeben? Ich kann doch nur schreiben, welchen Inhalt welche Adresse im hauptspeicher haben soll, mehr nicht. :-/
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Ja klar! Und wenn Du das gemacht hast, dann gibt´s da den schönen Button "Ablauf starten" und - schwuppdi! - rechnet er Dir das Programm durch! (Vorausgesetzt Du hast alles korrekt eingegeben, und davor vorausgesetzt, die abgetippte Vorlage war korrekt! <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> <img src="/ubbthreads/images/graemlins/delight.gif" alt="" /> )
Bei unsern Tools konnte man das dann halt nur noch lerneffizienter in Einzelschritten ablaufen lassen! <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" />
Bzgl.: CJP/JMP - ja `tschuldigung, woher soll´n ich das wissen?! <img src="/ubbthreads/images/graemlins/confused.gif" alt="" /> <img src="/ubbthreads/images/graemlins/ohh.gif" alt="" />
Ragon
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
GRNNNHHHHH <img src="/ubbthreads/images/graemlins/memad.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" />
Un´dafürhab´ichzweiStundenneben"DieFirma"hermichabgestrampeltoderwas!? <img src="/ubbthreads/images/graemlins/suspicion.gif" alt="" /> <img src="/ubbthreads/images/graemlins/memad.gif" alt="" />
*seufz* <img src="/ubbthreads/images/graemlins/ouch.gif" alt="" /> <img src="/ubbthreads/images/graemlins/silly.gif" alt="" /> du hast offenbar noch mehr verpasst: zum ichweisnichtmehrwievieltenmal "pulp fiction" auf rtl2 die definition von "cool" wurde mit harvey keitel als mr. wolf neu bewertet <img src="/ubbthreads/images/graemlins/biggrin.gif" alt="" /> toller streifen..... n8 Du meinst sicher TheOnlyDJCat, Onkel harga! <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> <img src="/ubbthreads/images/graemlins/biggrin.gif" alt="" /> Weil ich hab´s (= "Die Firma") ja wie gesagt nebenher gesehen!!Ein immer wieder faszinierender Justiz-Thriller und sehr schön locker-leicht erzählt, vor allem am Anfang, wie´s halt dem Flair des den Hintergrund bildenden Landstrichs entspricht! <img src="/ubbthreads/images/graemlins/delight.gif" alt="" /> [Dafür hab´ ich sogar "Enterprise" auf die Nachtwiederholung verschoben. <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> ] Ragon de Majer
|
|
|
|
old hand
|
old hand
Joined: Mar 2003
|
Also jetzt würde mich schon interessieren, auf was für einem Prozessor das basiert. Denn das Mov 0 bzw. Mov 1 hat mich (bis zur Erklärung) sehr verwirrt.
Alrik: Ich kann eigentlich nur den Gang in die nächste Bibliothek empfehlen. Vernünftige Fachbücher sind ja leider Affenteuer.
"In jedem Winkel der Welt verborgen ein Paradies"
|
|
|
|
veteran
|
OP
veteran
Joined: Mar 2003
|
@TheOnlyDjcat: Hast recht, dass man nur 2 Adressen braucht.
So jetzt mein neues Programm, dass nun fehlherfrei funktionieren sollte (juhu hab endlich kapiert, wie man den Assembler Interpreter benutzt).
900 MOV 1 901 920 902 STO 903 921 904 SUB 0 905 1 906 CJP 907 950 908 STO 909 920 910 ADD 1 911 921 912 STO 913 921 914 MOV 1 915 920 916 JMP 917 904
920 10
Ist ein bißchen anders, als das von TheOnlyDjcat und basiert auf meinen ersten Versuch.
@Flash: Ich habe keine ahnung, auf welchem Prozessor das basiert. Ich kann dir nur sagen, dass wir das ganze anhand einer 2-Bus-Struktur besprochen haben und könnte dir, wenn du willst, noch die Mikrobefehle sagen.
|
|
|
|
journeyman
|
journeyman
Joined: Mar 2003
|
Ich würd nochmal überprüfen, ob die Eingabe 0 in Deiner Lösung gültig ist, da sonst im Register -1 verwendet wird; das ist evtl. nicht erlaubt...
|
|
|
|
veteran
|
OP
veteran
Joined: Mar 2003
|
Wie meinst du das, ob die Eingabe 0 gültig ist?
|
|
|
|
journeyman
|
journeyman
Joined: Mar 2003
|
Die Gaußsumme von 0 ist ja 0. Das klappt in Deinem Programm auch, nur wird dabei in AC der Wert -1 gespeichert - daher meine Frage, ob das sein darf?
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
In der neuen C'T ist übrigens ein netter Artikel über das A20 Gatter drin, und wie man es anhspricht. <img src="/ubbthreads/images/graemlins/silly.gif" alt="" />
When you find a big kettle of crazy, it's best not to stir it. --Dilbert cartoon
"Interplay.some zombiefied unlife thing going on there" - skavenhorde at RPGWatch
|
|
|
|
veteran
|
OP
veteran
Joined: Mar 2003
|
In den AC muss ja irgendwann mal -1 stehen, ansonsten wäre doch nie die Bedingung für den CJP erfüllt. <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" /> Aber die -1 wird ja nicht direkt in den AC geschrieben. Im AC steht ja eigentlich weiterhin die 1, nur im Verzeichnisregister steht dann halt statt der 0 die 1 (so habe ichs bei mir jedenfalls stehen).
|
|
|
|
veteran
|
veteran
Joined: Mar 2003
|
Also ich weiss ja nicht was die Gausformel ist... aber wenn ich Rei's Programm in eine Hochsprache (oder Pseudocode) übersetzte, dann würde es vielleicht so aussehen:
e = eingabe a = ausgabe ------ a = 0; while (e >= 0) begin a = a + e; e = e - 1; end; -----
Dann würde ich das das ganze in für menschen gerade noch verständliche Assemblersprache übersetzen: d.h. keine Adressen sondern Labels verwenden... (ich verwende mal meine an 8088 assembler angelehnte pseudsprache...)
[x] - Adresse von Label x @x: Label x --------- MOV [a], 0 (kann entfallen wenn die Speicherstelle mit 0 vorinitialisiert ist, siehe @a:) MOV AC, [e] @loop: CJP [ende] ADD AC, [a] MOV [a], AC (normalerweise STO?) MOV AC, [e] SUB AC, 1 MOV [e], AC (normalerweise STO?) JMP [loop] @e: 10 @a: 0 @ende: HLT (Prozessor anhalten <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" />) ------- ( MOV AC, [e] bedeutet: hole wert an adresse e und lege ihn in AC ab ADD AC, 1 bedeutet: addiere 1 zu AC und lege Ergebnis in AC ab )
Erst im nächsten Schritt würde ich das Assemblerprogramm in Maschinennahe Sprache übersetzen... d.h. die Labels durch echte Adressen ersetzen:
Speicheradresse - Befehl bzw. Wert oder Adresse von Wert ------- 900 - MOV 1 901 - [e] <= 916 @loop: 902 - CJP 903 - [ende] <= 918 904 - ADD 1 905 - [a] <= 917 906 - STO 907 - [a] <= 917 908 - MOV 1 909 - [e] <= 916 910 - SUB 0 911 - 1 912 - STO 913 - [e] <= 916 914 - JMP 915 - [loop] <= 902 @e: 916 - 10 @a: 917 - 0 @ende: 918 - Ende vom Programm --------
Jetzt muss man nur noch MOV 1, MOV 0, ADD 1, SUB 0, STO, etc. durch die entsprechenden vom Prozessor verständlichen Zahlenwert ersetzen... *seufz*
So, ich hoffe das war halbwegs verständlich. Ob das Programm läuft (und fehlerfrei ist) habe ich nicht ausprobiert. Vielleicht konnte ich Alrik ja ein wenig helfen <img src="/ubbthreads/images/graemlins/winkwink.gif" alt="" />
|
|
|
|
|