Az elsõ bootolható programom

Kezdőlap Fórumok Programozás Az elsõ bootolható programom

6 bejegyzés megtekintése - 81-86 / 86
  • Szerző
    Bejegyzés
  • #2061934
    pointux
    Felhasználó

      „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…

      #2061935
      pointux
      Felhasználó

        na 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ödik

        #2061936
        Maul
        Felhasználó

          Kö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.

          #2061937
          pointux
          Felhasználó

            „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á! :))))

            #2061938
            tovis
            Felhasználó

              Most 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.

              #1883441
              csaba
              Felhasználó

                Hali mindenkinek!
                Egy óriási hírem van. Elkészítettem az elsõ bootolható ASM progimat. ^_^ 

              6 bejegyzés megtekintése - 81-86 / 86
              • Be kell jelentkezni a hozzászóláshoz.