suche memory model
-
Ich durfte immer asm für kleine Microcontroller, jetzt habe ich das vergnügen für einen x86 zu proggen.
In kleinen Microcontrollern, in dem mein Programm das einzige war weches ausgeführt worden war, musste ich mir keine grösseren Gedanken machen wo ich meine Daten ablege, aber wie sieht es bei einem x86 System aus?
Auch wenn es über meine Aufgaben hinausläuft würde ich gerne folgendes wissen:1. Wenn ich zur Laufzeit Daten ablegen möchte wo tue ich das am besten, wenn ich vorher keinen speicher "reserviert" habe?
2. wie leg man am besten dynamische Arrays ab
(Das Problem hierbei ist die potentielle Gefahr von Kollisionen im Speicher die ich sehe)?3. wie wird OOP in ASM realisiert?
4. wie wird Polymorphie erreicht?
4.1 vtables lokal oder global?
4.2 wenn lokal - hat jeder nachfahre eine eigene vtable?
-
1. bitte mehr Details zur Archetektur
2. OS?
3. welcher AssemblerAsMsA schrieb:
1. Wenn ich zur Laufzeit Daten ablegen möchte wo tue ich das am besten, wenn ich vorher keinen speicher "reserviert" habe?
Stack
AsMsA schrieb:
2. wie leg man am besten dynamische Arrays ab
als pointer auf dynamisch angeforderten Speicher (OS spezifisch).
AsMsA schrieb:
3. wie wird OOP in ASM realisiert?
4. wie wird Polymorphie erreicht?
4.1 vtables lokal oder global?
4.2 wenn lokal - hat jeder nachfahre eine eigene vtable?Kannst du realisieren/festlegen wie du willst.
-
masm schrieb:
1. bitte mehr Details zur Archetektur
2. OS?
3. welcher AssemblerAsMsA schrieb:
1. Wenn ich zur Laufzeit Daten ablegen möchte wo tue ich das am besten, wenn ich vorher keinen speicher "reserviert" habe?
Stack
AsMsA schrieb:
2. wie leg man am besten dynamische Arrays ab
als pointer auf dynamisch angeforderten Speicher (OS spezifisch).
AsMsA schrieb:
3. wie wird OOP in ASM realisiert?
4. wie wird Polymorphie erreicht?
4.1 vtables lokal oder global?
4.2 wenn lokal - hat jeder nachfahre eine eigene vtable?Kannst du realisieren/festlegen wie du willst.
Danke für deine Antwort.
Das Testsystem 64bit-Debian auf einem Amd Processor.
Als Assembler wird Nasm verwendet, bis es mit einer "c-opcode-generator-lib" ersetzt wird.zu 4. wie macht es der g++ zum beispiel?
-