Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Page 2 of 3 1 2 3
#128364 14/11/03 10:45 PM
Joined: Mar 2003
T
journeyman
Offline
journeyman
T
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="" />

#128365 14/11/03 11:03 PM
Joined: Mar 2003
veteran
Offline
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="" /> !)

#128366 14/11/03 11:04 PM
Joined: Mar 2003
A
veteran
Offline
veteran
A
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
#128367 14/11/03 11:18 PM
Joined: Mar 2003
veteran
Offline
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

#128368 14/11/03 11:33 PM
Joined: Mar 2003
A
veteran
Offline
veteran
A
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
#128369 14/11/03 11:39 PM
Joined: Mar 2003
Location: Germany
veteran
Offline
veteran
Joined: Mar 2003
Location: Germany
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!"
#128370 15/11/03 12:24 AM
Joined: Mar 2003
veteran
Offline
veteran
Joined: Mar 2003
Quote
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="" />

#128371 15/11/03 12:33 AM
Joined: Mar 2003
Location: düsseldorf
veteran
Offline
veteran
Joined: Mar 2003
Location: düsseldorf
Quote
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


#128372 15/11/03 12:35 AM
Joined: Mar 2003
T
journeyman
Offline
journeyman
T
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...

#128373 15/11/03 12:48 AM
Joined: Mar 2003
Location: Feenreich
Rei Offline OP
veteran
OP Offline
veteran
Joined: Mar 2003
Location: Feenreich
@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. :-/

#128374 15/11/03 02:09 AM
Joined: Mar 2003
veteran
Offline
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

#128375 15/11/03 02:16 AM
Joined: Mar 2003
veteran
Offline
veteran
Joined: Mar 2003
Quote
Quote
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

#128376 15/11/03 10:25 AM
Joined: Mar 2003
old hand
Offline
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"
#128377 15/11/03 10:40 AM
Joined: Mar 2003
Location: Feenreich
Rei Offline OP
veteran
OP Offline
veteran
Joined: Mar 2003
Location: Feenreich
@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.

#128378 15/11/03 02:47 PM
Joined: Mar 2003
T
journeyman
Offline
journeyman
T
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...

#128379 15/11/03 04:37 PM
Joined: Mar 2003
Location: Feenreich
Rei Offline OP
veteran
OP Offline
veteran
Joined: Mar 2003
Location: Feenreich
Wie meinst du das, ob die Eingabe 0 gültig ist?

#128380 15/11/03 05:19 PM
Joined: Mar 2003
T
journeyman
Offline
journeyman
T
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?

#128381 15/11/03 05:23 PM
Joined: Mar 2003
A
veteran
Offline
veteran
A
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
#128382 15/11/03 07:09 PM
Joined: Mar 2003
Location: Feenreich
Rei Offline OP
veteran
OP Offline
veteran
Joined: Mar 2003
Location: Feenreich
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).

#128383 16/11/03 02:26 PM
Joined: Mar 2003
veteran
Offline
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="" />

Page 2 of 3 1 2 3

Moderated by  Alix, ForkTong, Larian_QA, Macbeth 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5