したがって、バッファの一般的な抽象的な概念を理解しています。それは、処理される前にデータを保持するメモリ内の割り当てです。プロシージャ内のバッファに ASCII 文字列を書き込む必要がある宿題の問題を解決しようとしています。したがって、たとえば、プロシージャを呼び出すときに配列のアドレスをプロシージャに渡すことになっていることを理解しています...
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
したがって、関数は「ASCII 10 進文字列を含むバッファーへのポインター」を返すことになっています。ここで私はおそらくばかげていますが、この場合のバッファーが正確に何であるかについてはよくわかりません。
- 配列ですか?
- セクションでそのように宣言する必要があり
.data
ますか? - プロシージャ内で ASCII 文字列へのポインタを宣言するにはどうすればよいですか?
- このコンテキストでのバッファとは何を意味しますか?
より実際には、手順が終了したときにデータが格納されるバッファーにアクセスする必要がありますが、その方法がわかりません。
編集 - 私は x86 を使用しており、MASM を使用しています。