Kezdőlap › Fórumok › Programozás › Az elsõ bootolható programom
- This topic has 85 hozzászólás, 18 résztvevő, and was last updated 18 years, 10 months telt el by
tovis.
-
SzerzőBejegyzés
-
2006-06-27-19:54 #2061934
„Amelyiket aktuálisan nem olvastok el. Nálad arra, hogy le sem fordul, vizslánál meg arra, ahol leírom, hogy mi az a help.”
Az a baj, hogy bár elolvastam, de nem konkretizáltam (egyszerûen), hogy a címben a help string, ugyanúgy marhaság, mint a 8 bites érték… így már jó? Nem akartam vulgáris lenni…nehogy sértõdés essen. Egész egyszerûen alapvetõ dolgokkal nem vagy tisztában… az asm, nem magas szintû nyelv, meg fõként nem modern értelmezõ, melyben egy string op string mûvelet végrahajtható lenne. (Ha persze a help egy memória cím lenne, akkor „rendben”* lenne.)
*ez a részlet/kis töredéke
Az, hogy a memória cím, meg az operandus ugyanaz a változó, megintcsak elég értelmetlen – hacsak pl.: nem valamiféle tartalomfüggõ kódolást akarsz végrahajtani.
16 bites helyre pedig csak 2 8 bites karakterlánc elemet tudsz másolni. Magas szinten persze ez helyesen mûködik:
int x;
char y[a];
x = y[0];
pl, ha y[0] ‘a’, akkor x ‘a’, de valójábban a háttérben bonyolultabb.Ahogy te csinálod, nem ‘a’ lesz… csak al értéke lesz ‘a’, ah értéke, y[1] lesz, így ax értéke sem ‘a’ lesz.
Bár idáig nem jutottál el, de a kód amit írtál hibás… hibás lesz akkor is, amikor már le tudod fordítani.Ahogy írtam 8 bites címzés megint nincs…
2006-06-27-19:59 #2061935na errõl van szó (x86 esetén): asm; gépikód**
pop/push reg16; o16 58+r
pop/push reg32; o32 58+r*
pop/push r/m16; o16 8f /0
pop/push r/m32; o32 8f /0*
pop/push cs; 0f
pop/push ds; 1f
pop/push es; 07
pop/push ss; 17
pop/push fs; 0f a1*
pop/push gs; 0f a9**>=386
** módosítva: a gépikód részletek persze csak a pop utasításra vonatkoznak (de nem is igazán lényegesek), a push csak ugyanúgy mûködik2006-06-27-20:00 #2061936Köszi hogy leírtad, én is tudom, hogy nagyon nem értek hozzá, folyamatosan olvasom a leírásokat is, csak gondoltam közben megkérdezem a fórumon, hátha valami egyszerû megoldás van a dologra. Ne értsd félre, a kirohanásom nem neked szólt.
2006-06-27-20:17 #2061937„hátha valami egyszerû megoldás van a dologra”
A munkát ált. egy földi halandó nem kerülheti el.
Az asm. már annyira egyszerû, hogy bonyolult.„Ne értsd félre, a kirohanásom nem neked szólt.”
Azt is tudomásul kell venni, hogy kisbetu kolléga ilyen…. ilyen a stílusa, de a legtöbb esetben „sajnos” attól még igaza van. Csak megpróbál túllenni az általatok okozott fájdalmán 🙂 és így sikerül.
Nem tisztem megvédeni – nem is ismerem – sõt velem szemben is megfogalmazott kritikákat és akkor is igaza volt… Nem, mintha az itt megfogalmazott kritikák (felém) legalább 90% ne lett volna jogos, de hát senki sem tévedhetetlen… még én sem… bár közel vagyok hozzá! :))))2006-07-04-13:37 #2061938Most akkor megoldódott a problémád? – Maul.
Ha nem inkább küld be az egészet mert ez így nekem hiányos.
Egyébként ameddig az ember eljut az assemblyben addig hogy valami értelmeset csináljon addig sok regiszetrt fel kell inicializálni! – így bizony, az amit a C/C++ elintéz egy sorral az bíz neked lehet akár több oldal, és még csak gyorsabb sem lessz. Ráadásul az assembler legfeljebb szintaktikát ellenõríz, a szemantikához oda sem szagol.2009-12-04-19:58 #1883441Hali mindenkinek!
Egy óriási hírem van. Elkészítettem az elsõ bootolható ASM progimat. ^_^ -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz