アセンブリにカスタム データ構造を実装する必要があります。できれば、動的である必要があります。各要素が次の要素を指す C++/Java のリンク リストのようなもの。各要素のサイズは異なる場合があることに注意してください。
これどうやってするの?
C と同じです。アセンブリには関数とアドレス空間があります。基本から始めましょう。スタックに必要な機能は何ですか? 実際のデータ構造は脇に置いて、全体像に集中してください。
必要なのは、push() する関数と pop() する関数、これらのアイテムをメモリに貼り付ける場所、および使用したスペースの量を示すカウンターだけです。
C++ も Java (実際には他の言語も) では、スタックにプッシュされたオブジェクトはスタック上の次のオブジェクトを指し示しません。それは連結リストと呼ばれます。
C を使用してデータ構造を実装してから、生成されたアセンブリを確認してください。ただし、メモリのニーズによっては、より慎重な検討が必要になる場合があります (さまざまなサイズの要素のストレージに不揮発性メモリと揮発性メモリを使用するなど)。