Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
Assembler
LITTLELI
there are 10 types of people in the world. those who understand binary, and those who don't.
windows bring the power of yesterday computers in nowadays
sexy nastenka
Máte k tomu co říct? Vložte se do diskuze.
TREKIE --- 21:26:57 11.3.2007
jsem tam opravil preklep... takze LITTLELI reaguje na TREKIE. tech iteraci je tolik, na kterym miste je nejvyznamnejsi 1 bit... tedy v obecnem pripade 32 pro 32 bitovy registry
TREKIE --- 21:25:38 11.3.2007
uz vim, jak na to... pocita se treba ebx x edx, vysledek je v edx:eax, ecx se muze klidne pouzit na pocitani cyklu (32 iteraci). eax se vynuluje, edx:eax se rotuje doleva a podle carry se pricita do edx:eax ebx.
LITTLELI --- 21:23:50 11.3.2007
no tech iteraci muze byt tolik, kolik je vyznamnych jednickovych bitu tedy max. 32. spis mene .)
LITTLELI --- 10:47:37 1.3.2007
jo oni prave jsou ruzny finty, jak vysetrit registry, ale je taky fakt, ze clovek to v hlave moc nenosi. se kajicne priznam, ze sem na asm nesahl roky zase.
TREKIE --- 10:46:33 1.3.2007
flags se samozrejme pouzivat muze (hlavne kvuli cs), tusim, ze je tam nejaky zcela custom bit. ale to, co tady zatim je, je porad klasicka implementace. na jedny prednasce na mff (principy pocitacu, kdo zna, ten vi) bylo i nasobeni, kdy se to, co se pricita a to, kdy se to ma pricist, rotovalo ve 2 registrech, snad bych se na to mel podivat. jen si pak nejsem jistej, jestli na to neni potreba nejaka maska...
LITTLELI --- 10:32:38 1.3.2007
FUXOFT: ono je 1, mam tam ten inc. ale diky za upozorneni.
LITTLELI --- 10:31:34 1.3.2007
LITTLELI: s/pushf/pusfd/ a s/popf/popfd

TREKIE: hm no zasobnik je zasobnik, fakt je, ze pri ukladani na zasobnik se deje par veci. ja se na to podivam zase vecer, trebas jeste na neco prijdu. fakt, je ze to tak jako tak bude vychazet ze stejneho algoritmu, kterym nasobi i clovek (trebas na papire), akorat ze to bude postavene na dvojkove bazi.

jinak pokud se to bere az tak vazne, tak FLAGS je taky registr, predpokladam ze ten se do toho celkoveho poctu registru nepocita :)
FUXOFT --- 10:30:23 1.3.2007
TREKIE: No jde jenom o to, schovat si na chvili nekam hodnotu carry flagu. Nebo to jde i bez toho a pokud ten carry bude 1, tak skocis nekam na konec a tam udelas rucne to posledni pricteni.


LITTLELI: Pozor, v eax musi byt na zacatku 1, ne 0! To je ten vtip.
TREKIE --- 9:12:50 1.3.2007
diky za napad, ale mam takovy pocit, ze ten zasobnik funguje jako dalsi registr. prece to musi jit uplne bez nej, ne?
LITTLELI --- 8:59:01 1.3.2007
FUXOFT: no maji, dokonce je tam instrukce pro rotaci dvojici 32bitovych registru.. ktera klidne muze nahradit ty dva prvni bitshifty... shld eax,ebx,1. myslis tedy takhle?

 xor   eax,eax
	xor   ebx,ebx
	inc   eax
loop:   shld  eax,ebx,1
        pushf
	shl   ecx,1
        jnc   nc
        add   ebx,edx
        add   eax,byte 0
nc:     popf
        jnc   loop 

bez zaruky