Bin to Bcd
Nya'ri Viktor
office at flexelec.hu
Mon Jul 18 14:56:25 CEST 2005
Nem, annyira nem izgat a kérdés, csak elméleti felvetés volt.
hoyuka hoya wrote:
> Hali!
>
> Ez vmi ilyesmi ciklus volt:
>
> for(int i=0; i<1024; i++) array[i]=0;
>
> A leforditott kod meg valami ilyesmi lett:
>
> xor eax,eax;
> mov ebx, address of array
> mov edx,1024;
> label:
> mov [ebx],eax;
> add ebx,4
> dec edx
> jnz label
>
> Irtam, hogy akkor forditja meg magatol a ciklust, ha lehetseges. Okos
> gyerek ez a gcc :) Jo, mondjuk PIC-nel ezt lehet nem lehet megcsinalni...
>
> Egyebkent kiprobalhatod te is, vmi ilyesmi parancssorbol a forditas:
> gcc -O2 pelda.c -S -o pelda.S
> A pelda.S az assembly file es AT&T szintaktikat hasznal.
>
> udv.
> hoyuka
>
> Nya'ri Viktor said:
>
>>>Ugy emlexem a ciklusvaltozot beletolta egyik regiszterbe, pl. EDX. Ezt
>>>csokkentette: dec edx. Es a vegen egy sima jnz-vel vagy jz-vel elugrott.
>>>Ha jol tudom x86-oson a dec allitja a Zero flag-et.... Igy nem kell se
>>>test, se cmp.
>>
>>És ha a cikluson belül a ciklusváltozó értékére is szükséged van? Akkor
>>már fejreáll a világ...
More information about the Elektro
mailing list