From: gathers AT cyberdude DOT com (Gathers) Newsgroups: comp.os.msdos.djgpp Subject: Why dosn't my asm getpixel() work? Organization: Green Dragon Message-ID: <3766f436.5083819@nntpserver.swip.net> X-Newsreader: Forte Agent 1.0/32.354 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 48 Date: Wed, 16 Jun 1999 01:00:07 GMT NNTP-Posting-Host: 130.244.102.170 X-Complaints-To: news-abuse AT swip DOT net X-Trace: nntpserver.swip.net 929495101 130.244.102.170 (Wed, 16 Jun 1999 03:05:01 MET DST) NNTP-Posting-Date: Wed, 16 Jun 1999 03:05:01 MET DST To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I can't get the getpixel function here to work, but the putpixel under it seems to work ok, can someone help me? /Gathers unsigned char mygetpixel(unsigned short seg,unsigned long add,unsigned short x,unsigned short y) { unsigned char c; asm("movw %1,%%ax\n\t" "movw %%ax,%%es\n\t" "xor %%ax,%%ax\n\t" "movw %2,%%ax\n\t" "xor %%bx,%%bx\n\t" "movw $0x140,%%bx\n\t" "mul %%bx\n\t" "addl %3,%%ax\n\t" "addw %4,%%ax\n\t" "movl %%ax,%%si\n\t" "lodsb\n\t" "movb %%al,%0\n\t" :"g="(c) :"g"(seg),"g"(y),"g"(add),"g"(x) :"ax","bx","memory" ); return c; } void myputpixel(unsigned short seg,unsigned long add,unsigned short x,unsigned short y,unsigned char c) { asm("movw %0,%%ax\n\t" "movw %%ax,%%es\n\t" "xor %%ax,%%ax\n\t" "movw %1,%%ax\n\t" "xor %%bx,%%bx\n\t" "movw $0x140,%%bx\n\t" "mul %%bx\n\t" "addl %2,%%ax\n\t" "addw %3,%%ax\n\t" "movl %%ax,%%di\n\t" "movb %4,%%al\n\t" "stosb" : :"g"(seg),"g"(y),"g"(add),"g"(x),"g"(c) :"ax","bx","memory" ); }