vízforraló Blogok
Az ötödik nap.
Mintegy szavak és dupla szó
(Data formátumban)
Nem mondhatjuk, hogy ez a téma volt a legnehezebb, de az a tény, hogy ez a legbonyolultabb - ez 100%.
Amit írok itt elég szűk felfogása, de minden megnyugszik az idő múlásával. Ne csüggedjetek, ha hirtelen ebben a fejezetben tűnhet, hogy a szerelő nagyon bonyolult, gondol erről a hangsúly.
Nem minden vezető tudja, hogy annak érdekében, hogy a gép megy előre, a kerék azon a ponton érintkezik az úttal kell visszamenni. Bár az ilyen információt nem közölt minden vezető és minden ember. Nos, az autós túrák és hajtások, mi a különbség, ha a forgó kerekek. Meg kell tudni, csak ha változik a kerék, hogy ne keverjük össze a tájékozódás gumi, vagy a javítás során.
Körülbelül ugyanazt az információt fogják bemutatni ebben a fejezetben. A gyakorlatban minden hamar megtanulta, ha kell foglalkozni natív kód és az adatok.
Sailor, tudnia kell, hogy a barátja (a részét a potenciális ellenség) jobb, mint maga.
Binaries szerveznek nyolcas csoportokban, ezek az egységek nevezzük bájt. Remember Me?
Byte - minimális elszámolási egység bináris hadsereg. Remember Me?
2 bájt szerveződnek egy szó (word).
4 byte szerveződnek kettős szó (DWORD, és teljes - dupla szó).
Dword - a leggyakoribb bitkészlet egy Win32-programokat. Mivel:
Az előző program, állunk szemben itt a sort:
"D", itt csak cserélje dword.
Továbbra is kérdés, egy kicsit: miért disassembler byte operandusok processzor utasításokat látjuk tükrözött értékeit operandusok parancsok Asma?
Ne felejtsük el, tengerész, bináris nagyon ravasz. Annak érdekében, hogy megzavarja az ellenség a bájtok sorrendjét eltöltött minden egyes teljes harci egység, legyen szó (2 bájt), DWORD (4 bájt), qword (8 bájt), a bájtok épülnek junior senior, a fenébe őket darabokra tép!
És az akció a következő:
A hibakereső látja ezt így:
Írunk, és olvassa el a szöveget-európai - balról jobbra haladva. De a számok a legtöbb ember használja arab felvétel - jobbról balra (bár a több olvasni ostobán által magas rangú =).
Ahhoz, hogy a nagy bosszúságára, programozók vegyes adatok megjelenítési formátumot elfogadják. Minden byte-ot jeleníti meg az arab rendszer, és egy egész csoport byte - az európai. Kiderül, hogy a képernyőn látunk egy másik rekordot. Ha a program-bontó és hibakereső érzékelik bájt csoportot, mint egy egész szám, akkor megjelenik az arab írás, mint az oszlop parancsok assembly: március 4. február 1. és ha jön néhány bájt, akkor azt látjuk, egy európai rekord, csak a levél érkezett a bájt, a fentiek szerint: 01 02 03 04. Mindez csak egy kérdés kijelző, illetve a dokumentumokat. Például, ha használja a felvétel digitális értékeket a jobb alsó sarokban a képernyő bal felső sarkában (jobbról balra, lentről felfelé), akkor egyáltalán semmi nem kell fordulni! Azaz, ha a bejegyzést már elfogadták, „rendben van”, vagy „mindent elhagytunk”, hogy ilyen problémák nem lenne egyáltalán.
Tegyük fel, hogy szereznek itt a következő sort:
Most röviden magyarázni.
Miután meghatároztuk a mérete szót (vagy mindkettő Hiew'e „w”), van egyfajta egész.
Íme a vonal fog kinézni Hiew'e:
Az operandusok oszlop - ahogy beléptünk (a szám BBAAh). De egy oszlopban bájtok látunk egy tükör elrendezése byte operandusok - 00 08, AA BB.
És hasonlóan egymástól dword. Tegyük fel, hogy:
Az a kérdés, hogy valószínűleg származik minden (és azt hiszem, hogy sok az obszcén formában). „Abban az értelemben, hogy milyen?”
Azt hiszem, sok olvasó teljesen elrontod, csak egy vigasz: elmozdulás a bájt a fejét nem szükséges. Ahhoz, hogy egy egész szám a byte, vagy éppen ellenkezőleg, a számok összeadódnak bájt, ahhoz, hogy változtatni a megjelenítési mód a programban. Sőt, az egyszerű programozás, akkor felejtsd el ezeket a bölcsességeket, és emlékszem, csak alkalmanként.
Minden, az elmélet a ciklusok és már csak egy halom őket, holnap beszélünk.
Sailor! Valahogy nem vette észre, hogy kifejlesztette az F10 gombot!
Ha azt szeretné, hogy a kapitány a saját hajó nélkül is hiperhajtómű, akkor a hibakeresés és a hibakeresés.
A holnapután látni fogom a tükörképét az F10-gombot a billentyűzeten, vagy én kidob a legközelebbi elhagyott bolygó.
És ez jó volt, hogy nyomást gyakoroljanak az F10 gombot, a vezetés a hibakereső következő program (prax03.com).
Töltött magad, csak így lehet tanulni.
A Hiew'e kell kinéznie:
De ez még nem minden, most váltani a Hex-módban (F4), és fejezzük be a programot a következő bájt után a teljes kódot. Ez lesz az „adat”.
Tény, hogy az összes ilyen terek (20h) programot nem kell. De ha nézni egy programot a debugger, hogy segít.
Ha hibakereső üzenetek jelenhetnek meg a képernyőn, hogy. Ábrán jól velük. Ha CV képernyő csere lehetőség nincs kikapcsolva, meg kell csinálni.
Az eredmény ez a program, - a kijelzőn vonalak átlósan bal felső a jobb alsó sarokban.
Van egy csomó új dolgot, és remélem, lesz érdekelt, hogy tudja, hogy az új csapat és a CMP JNE munkát.
Próbáld ki magad, hogy megtudja, mi történik a programban a gyakorlatban. Mint írtam, a megszakítás (command int) írásakor Win32 programok nem fogjuk használni. Tehát nem lehet folyton őket. Elég annyit tudni, hogy ez hasznos rutint, amelyek közül néhány még mindig abban rejlik, hogy a BIOS (Basic Input / Output System - alapvető bemeneti / kimeneti rendszer).
Kénytelen vagyok használni őket csak a program tele volt, és akkor tisztán tanulni a fő szerelési útmutató.
Ebben a példában is részt int 10h tisztítására a képernyőn (AL = 3), és a kurzor helyét (AH = 2). Így int 21h szöveg megjelenítéséhez a képernyőn. Minden más megszakítások az órákon nem lesz több. Róluk az évek mondja, elég.
Itt van, hogyan kell a program értelmezni (csak mondjuk - a címkén leírom később).
Mielőtt az elemzést a program, szeretnék beszélni a legfontosabb fogalmakat a programozás - ciklusokban.