 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 12 22, 08:09. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Kas į kurį būna padėta (stack, data, text, bss...)
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
Puslapis 2 iš 2 Pereiti prie Atgal 1, 2 |
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 22, 00:04 |
|
|
|
|
taip, bet steko pointeris yra tiesiog vienas is registru.
ir nebutina tik push ir pop naudoti, tiek pat sekmingai tu gali rayti sakykim
LD R10,(SP+20)
jei tu koks iskrypes asm programuotojas tai is esmes gali net steko pointeri kaip papildoma registra panaudoti su salyga kad interruptaio isjungti.
beje kiek zinau stekas ant PPC tai tik R3 registras o ta push ir pop gali buti vykdona su betkuriuo registru vietoje steko. ir isvis tokiu dedikuotu push ir pop nera. tai vadinasi load/store and increment/decrement
beje niekaip to ginco nebesuprantu kodel tu manai kad stekas netinka duomenu saugojimui?
o kur tada juos daugiau saugoti? |
|
|
|
|
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 22, 00:33 |
|
|
|
|
iškrypęs jo būtinai... gerai būtų.
mūsų ginčo esmė ta, kad visi kintamieji nebus laikomi stack`e. iš antro posto.
ir man buvo įdomu kaip iš stack`o imti būtent reikalingą duomenį, kai pats stack veikia LIFO metodu. tad kaip sukrauni, taip ir ištrauki o ne būtent sau reikalingą kada reikia.
va kur esmę norėjau pabrėžt.
ir dar. kažkuriam poste Digix rašei, jog risc tiek daug registrų, kad ram niekada nereikės intamiesiems. gerai būtų kad jų užtektų. |
|
|
|
|
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 22, 01:07 |
|
|
|
|
Tai kad stekas yra FIFO tai nieko nereiskia. vistiek tu viska kas jame yra gali pasiekti kaip ir betkuria atminties vieta
o tada atsakyk pats kokia alternatyva kur tu desi savo kinatmuosius?
jug tu sukurei kazkokia funkcija ir ji neturi supratimo kur ten yra kokios nepanaudotos atminties.
risc tai labai daug registru turi, pvz PC ju yra turbut 32. galingesnis risc isvis po 100 registru gali tureti.
ju yra tiek daug kad kai pasiziuri C programa tai matosi kad komiliatorius visus kintamuosius i registrus sudejo. zinoma kalbu apie lokalius kintamuosius. |
|
|
|
|
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 24, 17:04 |
|
|
|
|
| CodeC rašo: |
siaip abejoju ar pats normaliai supratai ko paklausei.
pradejai kodo segmentu pavadinimu baigei C kodo asembliavimu.
taigi. |
negi būtina viskam kurti po atskirą temą .
dėl stack tai buvau pamiršęs, kad tai yra ta pati atmintis, ir galima naudoti ne tik sp, bet ir sp + offset.
| Citata: |
| mūsų ginčo esmė ta, kad visi kintamieji nebus laikomi stack`e. iš antro posto. |
pvz funkcijos su 30 kintamųjų atveju:
į stack sukišam visus registrus, kuriuos naudosim (atrodo nereikia r0-r3, kurie naudojami duomenims perduoti, net jei funkcija jų nenaudoja)
išsisaugojam sp, kurį gavom.
pasididinam sp per 30.
visą atmintį [sp..sp-30] naudojam kintamiesiems
griztant paliekam toki sp, koks buvo is pradziu
*sp - stack pointer
| Citata: |
| galingesnis risc isvis po 100 registru gali tureti. |
galima gal nors viena pavyzdį. Kiek žinau, tai bent jau visa ARM šeima naudoja 16 + 1 registrų. |
|
|
|
|
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 24, 17:22 |
|
|
|
|
hmm gali bui kad suklydau del to 100 bet maniau kad amd 64 bitu ir pentium nauji panaisiai tiek registru turi.
nors jei imsime is paprastesniu tai PIC turi po 128 ar 256 nepilnavercius registrus, ir juos vietoje atmities naudoja |
|
|
|
|
|
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 24, 17:35 |
|
|
|
|
| Digix rašo: |
| hmm gali bui kad suklydau del to 100 bet maniau kad amd 64 bitu ir pentium nauji panaisiai tiek registru turi. |
cisc tikrai turi daug refistru, 64 gan seniai yra standartu(32 paprasti ir 32 float kintamiesiems saugoti (ne pagrindiniame, o koprocesoriuje?)). atrodo jau 4tam pentiume buvo.
bet risc pagal pačią idėja negali turėti daug registrų, nes ten viskas eina per maza technine iranga/paprastas instrukcijas. |
|
|
|
|
|
 |
 |
Kas į kurį būna padėta (stack, data, text, bss...) |
Parašytas: 2008 06 24, 19:33 |
|
|
|
|
ne, paprastai yra atbulai, CISC turi mazai registru, jug originalus X86 ju turi maziau nei ant vienon rankos pirstu(ax,bc,cx,dx ir ex).tie nauji pentiumai turi daug, bet tie registrai nelygeverciai.
bet naujausi amd ir pentiumai manau jau labiau i RISC krypsta, o CISC tai tik asamblerio interpretatorius, kas gana durnai atrodo kai procesorsius interpretuoja asamblerio kalba.
RISC turi mazai adresavimo rezimu, nes jie naudoja registrus duomenu saugojimui o CISC naudoja tam atminti.
ant risc visas operacijas galima tik su registrais atlikti. tik tuo jie ir skiriasi. |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
Must have farming mods
Farming simulator modhub,
Best farming simulator mods |
|

|
 |