screen_savers/Nebula: Remove assembly comments from DrawStars.c.

This commit is contained in:
Augustin Cavalier
2015-07-07 20:05:10 -04:00
parent 413d14fb36
commit 9bc305b2ed
+2 -44
View File
@@ -8,9 +8,6 @@
/* draw a star (5 pixels) */ /* draw a star (5 pixels) */
void STAR_FUNCTION(char* dstParam, char incParam) void STAR_FUNCTION(char* dstParam, char incParam)
{ {
// movl 8(%ebp),%edi /* dst */
// movl 12(%ebp),%edx /* inc */
//
unsigned char* dst; unsigned char* dst;
unsigned char inc; unsigned char inc;
dst = (unsigned char*)dstParam; dst = (unsigned char*)dstParam;
@@ -18,93 +15,54 @@ void STAR_FUNCTION(char* dstParam, char incParam)
dst[STAR_WIDTH] += inc; dst[STAR_WIDTH] += inc;
if (dst[STAR_WIDTH] < inc) { if (dst[STAR_WIDTH] < inc) {
// addb %dl,(STAR_WIDTH)(%edi)
// Overflowed. // Overflowed.
dst[STAR_WIDTH] = 255; dst[STAR_WIDTH] = 255;
// movb $255,(STAR_WIDTH)(%edi)
} }
// jnc 3f
//
//3:
inc >>= 1; inc >>= 1;
// shrb $1,%dl
unsigned char al; unsigned char al;
al = *dst; al = *dst;
// movb (%edi),%al
unsigned char cl; unsigned char cl;
cl = dst[STAR_WIDTH - 1]; cl = dst[STAR_WIDTH - 1];
// movb (STAR_WIDTH-1)(%edi),%cl
al += inc; al += inc;
// addb %dl,%al
if (al >= inc) { if (al >= inc) {
cl += inc; cl += inc;
// addb %dl,%cl
if (cl < inc) { if (cl < inc) {
// jc 2f
// 2:
*dst = 255; *dst = 255;
// movb $255,(%edi)
dst[STAR_WIDTH - 1] = 255; dst[STAR_WIDTH - 1] = 255;
// movb $255,(STAR_WIDTH-1)(%edi)
} else { } else {
*dst = al; *dst = al;
// movb %al,(%edi)
dst[STAR_WIDTH - 1] = cl; dst[STAR_WIDTH - 1] = cl;
// movb %cl,(STAR_WIDTH-1)(%edi)
} }
} else { } else {
// 1:
cl += inc; cl += inc;
// addb %dl,%cl
if (cl < inc) { if (cl < inc) {
// jc 2f
*dst = 255; *dst = 255;
// movb $255,(%edi)
dst[STAR_WIDTH - 1] = 255; dst[STAR_WIDTH - 1] = 255;
// movb $255,(STAR_WIDTH-1)(%edi)
} else { } else {
*dst = 255; *dst = 255;
// movb $255,(%edi)
dst[STAR_WIDTH - 1] = cl; dst[STAR_WIDTH - 1] = cl;
// movb %cl,(STAR_WIDTH-1)(%edi)
} }
} }
al = dst[STAR_WIDTH * 2]; al = dst[STAR_WIDTH * 2];
// movb 2*STAR_WIDTH(%edi),%al
cl = dst[STAR_WIDTH + 1]; cl = dst[STAR_WIDTH + 1];
// movb (STAR_WIDTH+1)(%edi),%cl
al += inc; al += inc;
// addb %dl,%al
if (al < inc) { if (al < inc) {
// jc 11f
cl += inc; cl += inc;
// addb %dl,%cl
if (cl >= inc) { if (cl >= inc) {
dst[STAR_WIDTH * 2] = 255; dst[STAR_WIDTH * 2] = 255;
// movb $255,(2*STAR_WIDTH)(%edi)
dst[STAR_WIDTH + 1] = cl; dst[STAR_WIDTH + 1] = cl;
// movb %cl,(STAR_WIDTH+1)(%edi)
return; return;
} }
} else { } else {
cl += inc; cl += inc;
// addb %dl,%cl
if (cl >= inc) { if (cl >= inc) {
// jc 21f
dst[STAR_WIDTH * 2] = al; dst[STAR_WIDTH * 2] = al;
// movb %al,2*STAR_WIDTH(%edi)
dst[STAR_WIDTH + 1] = cl; dst[STAR_WIDTH + 1] = cl;
// movb %cl,(STAR_WIDTH+1)(%edi)
return; return;
} }
} }
//
//21:
dst[STAR_WIDTH * 2] = 255; dst[STAR_WIDTH * 2] = 255;
// movb $255,2*STAR_WIDTH(%edi)
dst[STAR_WIDTH + 1] = 255; dst[STAR_WIDTH + 1] = 255;
// movb $255,(STAR_WIDTH+1)(%edi)
// popl %edi
// leave
// ret
} }