Wie benutze ich einen buffer in einem Montage-Verfahren?

So, ich verstehe die Allgemeine abstrakte Konzept eines Puffers: Es ist eine Zuordnung im Speicher hält Daten, bevor es verarbeitet wird. Ich bin versucht, um ein Hausaufgaben problem, die verlangt von mir, das schreiben einer ASCII-Zeichenkette in einen Puffer innerhalb einer Prozedur. Also, ich verstehe, dass ich soll, um eine Adresse von einem array an die Prozedur beim Aufruf, zum Beispiel...

main PROC
mov EAX, packed           ; pass a packed decimal to EAX
mov ESI, OFFSET ascArray  ; pass the offset of an empty array to ESI
call    PackedToAsc           ; call the function

Also die Funktion soll return 'ein Zeiger auf einen Puffer mit den ASCII-dezimal-string.' Ich bin wahrscheinlich dumm, aber ich bin mir nicht ganz klar, was genau ein Puffer ist in diesem Fall. Ist es ein array? Muss ich es erklären, die als solche in der .data-Abschnitt? Wie erkläre ich den Zeiger auf den ASCII-string innerhalb der Prozedur? Was gemeint ist, durch einen Puffer in diesem Zusammenhang? Mehr praktisch, ich brauche Zugriff auf den Puffer, der die Daten gelegt wird, wenn die Prozedur beendet, und ich bin mir nicht sicher, wie das zu tun. Sorry, wenn ich mich nicht deutlich genug hier... lassen Sie mich wissen, wie kann ich klären, die Frage stellen.

BEARBEITEN
  --   ich bin in x86, und ich bin mit MASM.

InformationsquelleAutor santeyio | 2012-11-20
Schreibe einen Kommentar