assembly programok Flashcards
milyen üzemmódban használunk csak .com programokat?
16 bites valós üzemmódban
külön címekre mutatnak-e a CS, DS, ES és SS regiszterek a .com programoknál?
nem
hol kezdődik a verem .com programoknál?
a szegmens végén
mire szolgál az első 256 byte?
az a PSP (program szegmens prefix), vagyis itt vannak a rendszer számára a futtatáshoz szükséges információk
.com programoknál hova mutat az SP?
0xFFFE
hol kezdődik az első végrehajtható utasítás?
0x100
hol fejeződik be a program .com programoknál?
int 0x20
milyen üzemmódban vannak az .exe programok?
védett
milyen paranccsal térünk vissza .exe programoknál?
RET
.exe programoknál meg lehet-e hívni a megszakításokat felhasználói szinten?
nem
hogy hívja meg a .exe programot az operációs rendszer?
függvényként
mivel jelöljük a kódszegmenst?
section .text
mivel jelöljük az inicializált adatszegmenst?
section .data
mivel jelöljük az inicializálatlan adatszegmenst?
section .bss
hogy nézne ki egy b nevű lokális címke?
.b:
hogy nézne ki egy b nevű nem lokális címke?
b:
milyen szerkezet a verem?
LIFO (last in first out)
a veremben hogy történik a beírás és a kiolvasás?
duplaszavanként
mi az SS?
szegmensregiszter
mi az ESP?
veremmutató
mi az EBP?
bázismutató a veremben
hogyan módosítják a veremműveletek a veremmutatót?
automatikusan
ki lehet még egyszer venni a veremből kivett értéket? miért?
nem, mert a következő push felülírja
mi jelzi az alprogramok kezdetét?
egy címke
hogy jutunk el az alprogramok címkéjéhez?
a call utasítással
hova menti a call a visszatérési címet?
a verembe
hogyan tudunk paramétert átadni?
érték szerint vagy referencia címét
hol adhatjuk át a paramétereket?
regiszterben, veremben, memóriában
hol adjuk át a paramétereket tiszta assembly programokban?
csak regiszterekben
magas szintű nyelvek mit használnak paraméterátadásra és hol adják vissza?
a vermet és regiszterekben adják vissza
milyen paraméterátadási konvenciók vannak?
pascal, c, stdcall, regiszter
a pascal konvenció esetében hogyan kerülnek a paraméterek a verembe?
az adott sorrendben
a c konvenció esetében hogyan kerülnek a paraméterek a verembe?
fordított sorrendben
az stdcall konvenció esetében hogyan kerülnek a paraméterek a verembe?
fordított sorrendben
a regiszter konvenció esetében hogyan kerülnek a paraméterek a verembe?
az első két paraméter: ECX, EDX
milyen specifikus a fastcall konvenció?
MS
a pascal konvenció esetében mi takarítja a vermet?
az alprogram
a c konvenció esetében mi takarítja a vermet?
a hívó, miután visszakapta a vezérlést
az stdcall konvenció esetében mi takarítja a vermet?
az alprogram
a regiszter konvenció esetében mi takarítja a vermet?
az alprogram
hogyan nevezik még a regiszter konvenciót?
fastcall
milyen paraméterátadási konvenciót használnak a Win32 API-k?
stdcall
mi és hol foglal helyet a lokális változók számára?
az alprogram a veremben
konvenció szerint az alprogramból való visszatéréskor mi jelzi a hibát?
CF
mi tartalmazhatja a hibakódot?
AL