www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

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
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]