![]() |
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! |
Für welchen Prozessor/Assembler möchtest du das denn schreiben?
|
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.