myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 04.12.15, 21:51   #1
ohtar
Anfänger
 
Registriert seit: Dec 2009
Beiträge: 1
Bedankt: 0
ohtar ist noch neu hier! | 0 Respekt Punkte
Standard Hilfe mit Assembler!

Ist hier jemand der mir mit einer Aufgabe in Assembler weiterhelfen kann?
Ich muss ein Programm schreiben welches die Anzahl einer Nummer in einem Array ausgibt.

In C hab ich dazu schon die Lösung nur mit Assembler kann ich mich einfach nicht anfreunden leider..

Ich wäre für jede Hilfe dankbar!
ohtar ist offline   Mit Zitat antworten
Ungelesen 07.12.15, 11:20   #2
back69
Hoffnungsloser Fall
 
Registriert seit: Sep 2013
Ort: 48151 Münster
Beiträge: 128
Bedankt: 106
back69 wird langsam von ratten respektiert | 218 Respekt Punkteback69 wird langsam von ratten respektiert | 218 Respekt Punkteback69 wird langsam von ratten respektiert | 218 Respekt Punkte
Standard

Für welchen Prozessor/Assembler möchtest du das denn schreiben?
back69 ist offline   Mit Zitat antworten
Ungelesen 07.12.15, 11:41   #3
back69
Hoffnungsloser Fall
 
Registriert seit: Sep 2013
Ort: 48151 Münster
Beiträge: 128
Bedankt: 106
back69 wird langsam von ratten respektiert | 218 Respekt Punkteback69 wird langsam von ratten respektiert | 218 Respekt Punkteback69 wird langsam von ratten respektiert | 218 Respekt Punkte
Standard

Gaaaanz allgemein gesprochen:

Als erstes solltest du den Start des Arrays bestimmen, bepsielsweise mit
> mov bx, offset array

Dann muss du wissen, welches Element du haben möchtest
> mov si, 42 ; "43". Element (in Assember hat das 1. Element den Index 0

Jetzt kommt der "Trick": Wie groß sind die einzelnen Elemente? Byte, Word, DWord... (8, 16, 32... Bits). Das "erkennt" der Assembler über die angegebene Größe

> mov al, byte ptr[bx+si]
> mov ax, word ptr[bx+si]
> mov eax, dword ptr[bx+si]

Bei "dword ptr[bx+si]" weiss der Asselber, dass du einen 32 Bit-Wert haben möchtest, der
ab der Adresse bx + dem Wert aus si ( * sizeof(dword) ) liegt.
back69 ist offline   Mit Zitat antworten
Die folgenden 3 Mitglieder haben sich bei back69 bedankt:
MaxP0w6r (16.06.22), tintinsx (18.05.23)
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.


Sitemap

().