Page 1 of 1

организация памяти в стеке

Posted: Fri Nov 11, 2011 5:51 pm
by scuter
мне нужно сохранять информацию в стеке
на javascript это выглядит так

Code: Select all

var data = {
    com_1:{
       str_1:"hjhjfhgjhfjg",
       str_2:"beknt"
    },
    com_2:{
       str_1:"hjhjfhgjhfjg",
       str_2:"beknt"
    }
}
var str_do_1:"hfjghfgj";
var str_nt_2:"dhfjhjhdf";
соответственно необходимо производить различные операции над этими данными
скажите как это сделать в ASM и соответственно в KOS
просто компилятор ASM запоминает адрес переменной и когда идёт команда mov si,offset
в SI помещается адрес переменной
а когда переменная динамическая
и создаётся в процессе работы программы
mov si,offset уже не сделаешь

Re: организация памяти в стеке

Posted: Fri Nov 11, 2011 8:12 pm
by Mario
Запомнить в другом регистре состояние ESP, не?

Re: организация памяти в стеке

Posted: Fri Nov 11, 2011 10:16 pm
by scuter
Mario wrote:Запомнить в другом регистре состояние ESP, не?
если переменных около 30, а в них ещё многомерные массивы,
то регистров просто не хватет,
к тому же мне надо брать многомерные массивы и обрабатывать их в цыкле.

Re: организация памяти в стеке

Posted: Fri Nov 11, 2011 10:42 pm
by Mario
Используй статические указатели на нужную часть стека. Думаешь компиляторы ЯВУ чудесатые чудеса творят? Там вообще порой одним регистром EAX выкручиваются. А вообще использовать стек под большие объемы данных не есть правильно, когда есть выделение памяти через 68 функцию.