myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Hilfe mit Assembler! (https://mygully.com/showthread.php?t=4217163)

ohtar 04.12.15 20:51

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!

back69 07.12.15 10:20

Für welchen Prozessor/Assembler möchtest du das denn schreiben?

back69 07.12.15 10:41

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 09:07 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.