ceeyt
21/12/2004, 02:59
Asagidaki koda gore a degiskenin degerinin 4 olmasini bekliyorum ama 65476 gibi garip bir sonuc veriyor.
Neden oldugu hakkinda pek fikrim yok. Yardimci olabilir misiniz?
MS VC++ 7.0 da yaziyorum.
unsigned short a = 20;
unsigned short n = 5;
unsigned short *p = new unsigned short;
p = &a;
__asm push eax;
__asm mov eax,0;
__asm mov ax,word ptr[p];
__asm mov cx,n;
__asm cwd;
__asm idiv cx;
__asm mov a,ax;
__asm pop eax;
cout << a << endl;
tesekkur ederim...
Neden oldugu hakkinda pek fikrim yok. Yardimci olabilir misiniz?
MS VC++ 7.0 da yaziyorum.
unsigned short a = 20;
unsigned short n = 5;
unsigned short *p = new unsigned short;
p = &a;
__asm push eax;
__asm mov eax,0;
__asm mov ax,word ptr[p];
__asm mov cx,n;
__asm cwd;
__asm idiv cx;
__asm mov a,ax;
__asm pop eax;
cout << a << endl;
tesekkur ederim...