Xref: news2.mv.net comp.os.msdos.djgpp:6587 From: 004277a AT dragon DOT acadiau DOT ca (Hafiz Awang Pon) Newsgroups: comp.os.msdos.djgpp Subject: inline assmebly problem Date: 31 Jul 1996 03:39:20 GMT Organization: Your Organization Lines: 36 Message-ID: <4tmkh8$2t3@News.Dal.Ca> NNTP-Posting-Host: slip-34.acadiau.ca Mime-Version: 1.0 Content-Type: Text/Plain; charset=US-ASCII To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp I am attempting to write an assembly equivalent of this c code tmaploop = x1; do { arrvstep[tmaploop] = vstep; vstep = vstep + vvar; tmaploop++; }while (tmaploop <= x2); where vstep, vvar is long, arrvstep is an array of long and tmaploop, x1 and x2 is int. here is the code below asm ("movw %0,%%cx":: "g" (x1):"%cx"); asm ("movw %0,%%dx":: "g" (x2):"%dx"); asm ("movl %0,%%esi":: "g" (&(arrvstep[x1])):"%esi"); asm ("movl %0,%%eax":: "g" (vstep):"%eax"); asm ("movl %0,%%ebx":: "g" (vvar):"%ebx"); asm ("prc1: movl %eax, (%esi)"); asm ("addl $0x4, %edi"); asm ("addl %ebx, %eax"); asm ("inc %cx"); asm ("cmp %dx, %cx"); asm ("jbe prc1"); the problem i'm encoutering is that the value inside the array is not what i expected. After putting some test variables into the program, I suspect some values in the registers has been altered not in the manner dictated by my code above. can someone help? 004277a AT dragon DOT acadiau DOT ca