matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAssemblerprogramm kommentieren
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Assembler" - programm kommentieren
programm kommentieren < Assembler < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Assembler"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

programm kommentieren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:19 Mo 26.07.2010
Autor: sal123

Analysieren Sie folgendes Assembler Programm. Kommentieren Sie das Programm ausführlich und beschreiben Sie seine Funktion !

00000000 MOV AX,0001
00000003 MOV BX ,0002
00000006 MOV CX ,0003
00000009 MOV DX ,0004
0000000C MOV SI , 0005
0000000F MOV DI , 0006
00000012 INC AX
00000013 ADD BX,02
00000016 SAL CX
00000018 OR DX,CX
0000001A ADD SI,BX
0000001C XOR DI,CX
0000001E JMP 0E
END
Hoffe das jemand in der Lage ist mir weiter zu helfen !!!!!!

Liebe Grüße  
sal123


        
Bezug
programm kommentieren: Antwort
Status: (Antwort) fertig Status 
Datum: 15:01 Mo 26.07.2010
Autor: felixf

Moin!

> Analysieren Sie folgendes Assembler Programm. Kommentieren
> Sie das Programm ausführlich und beschreiben Sie seine
> Funktion !
>
> 00000000 MOV AX,0001
>  00000003 MOV BX ,0002
>  00000006 MOV CX ,0003
>  00000009 MOV DX ,0004
>  0000000C MOV SI , 0005
>  0000000F MOV DI , 0006
>  00000012 INC AX
>  00000013 ADD BX,02
>  00000016 SAL CX
>  00000018 OR DX,CX
>  0000001A ADD SI,BX
>  0000001C XOR DI,CX
>  0000001E JMP 0E
>  END
>
>   Hoffe das jemand in der Lage ist mir weiter zu helfen
> !!!!!!

Nun, du wirst doch zumindest bei ein paar der Befehle wissen, was sie tun. Zum Beispiel ganz vorne. Schreib doch erstmal auf, was jeder Befehl genau tut. (Du wirst sicher eine Referenz haben in der du das nachschauen kannst, z.B. in der Vorlesung.)

Dann arbeite das Programm Schritt fuer Schritt ab und schau, was passiert (vor allen mit den Registern). Versuche daraus eine Idee zu bekommen, was es tut.

So, und nun bist du dran. Leg mal los.

LG Felix


Bezug
                
Bezug
programm kommentieren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:32 Mo 26.07.2010
Autor: sal123

00000000 MOV AX,0001   // in das  prozessorregister  Ax den wert 0001 kopierte .der register A x steht an der stelle 00000000
>  00000003 MOV BX ,0002 // in das prozessorregister Bx den wert 0010 kopierte
>  00000006 MOV CX ,0003 //in das prozessorregister  cx den wert 0011 kopierte
>  00000009 MOV DX ,0004 //                                             dx den wert 0100 kopierte
>  0000000C MOV SI , 0005 //                                             S i den wert 0101 kopierte
>  0000000F MOV DI , 0006 //                                             di den wert 0110 kopierte
>  00000012 INC AX               //    0001+1=0010
>  00000013 ADD BX,02 //    0010+0010=0100
>  00000016 SAL CX
>  00000018 OR DX,CX
>  0000001A ADD SI,BX
>  0000001C XOR DI,CX
>  0000001E JMP 0E
>  END

Mehre weisse ich leider nicht.Hoffe das jemand in der Lage ist mir weiter zu helfen !!!!!! Liebe Grüße
sal123

Bezug
                        
Bezug
programm kommentieren: Antwort
Status: (Antwort) fertig Status 
Datum: 22:20 Mo 26.07.2010
Autor: felixf

Moin!

> 00000000 MOV AX,0001   // in das  prozessorregister  Ax den
> wert 0001 kopierte .der register A x steht an der stelle
> 00000000

Das ist doch Quark! Der Befehl steht im Speicher an der (relativen?) Adresse 00000000. Das Register AX befindet sich auf der CPU und hat keine Adresse im Speicher!

Genauer: an der Adresse 00000000 im Programmcode wird dem Register der Wert 1 zugewiesen.

> >  00000003 MOV BX ,0002 // in das prozessorregister Bx den

> wert 0010 kopierte
> >  00000006 MOV CX ,0003 //in das prozessorregister  cx den

> wert 0011 kopierte
> >  00000009 MOV DX ,0004 //                                  

>           dx den wert 0100 kopierte
> >  0000000C MOV SI , 0005 //                                  

>            S i den wert 0101 kopierte
> >  0000000F MOV DI , 0006 //                                  

>            di den wert 0110 kopierte

Kannst du sowas nicht besser aufschreiben, oder gibst du dir einfach keine Muehe?

> >  00000012 INC AX               //    0001+1=0010

> >  00000013 ADD BX,02 //    0010+0010=0100

> >  00000016 SAL CX

Falls du nicht weisst, was SAL ist: guck []hier.

> >  0000001E JMP 0E

Um etwas ueber diese Zeile sagen zu koennen muesste man mehr ueber den verwendeten Assembler und die Ziel-CPU kennen. Ist 0E eine relative Adresse? Eine absolute Adresse (macht keinen Sinn, falls es sich auf die angegebenen Adressen bezieht)? Oder etwas ganz anderes?

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Assembler"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]