Mail Archives: djgpp/1999/11/30/08:14:34
As I already said I didn't met problems with _GR_shift_scanline()
and gcc-2.95.X yet.
For comparission I'm posting disassembler listing from my
copy of libgrx20.a (for shiftscl.c only changes there are removal of
%ecx from cloberlist). Timestamp of this library (September 30th)
shows that it's almost sure I used gcc-2.95.1 there. Also compiled
it with gcc-2.95.2 now and there is no difference.
Andris
shiftscl.o: file format coff-go32
Disassembly of section .text:
00000000 <__GR_shift_scanline>:
0: 83 ec 1c subl $0x1c,%esp
3: 55 pushl %ebp
4: 57 pushl %edi
5: 56 pushl %esi
6: 53 pushl %ebx
7: 8b 74 24 3c movl 0x3c(%esp,1),%esi
b: 8b 54 24 40 movl 0x40(%esp,1),%edx
f: 85 f6 testl %esi,%esi
11: 7f 6d jg 80 <__GR_shift_scanline+0x80>
13: f7 de negl %esi
15: 85 d2 testl %edx,%edx
17: 0f 8e b8 00 00 jle d5 <__GR_shift_scanline+0xd5>
1c: 00
1d: 89 54 24 14 movl %edx,0x14(%esp,1)
21: 8b 44 24 38 movl 0x38(%esp,1),%eax
25: 8b 54 24 34 movl 0x34(%esp,1),%edx
29: 8b 4c 24 30 movl 0x30(%esp,1),%ecx
2d: 89 44 24 1c movl %eax,0x1c(%esp,1)
31: 89 c5 movl %eax,%ebp
33: 8b 12 movl (%edx),%edx
35: 01 54 24 1c addl %edx,0x1c(%esp,1)
39: 8b 5c 24 1c movl 0x1c(%esp,1),%ebx
3d: 83 44 24 34 04 addl $0x4,0x34(%esp,1)
42: 89 c2 movl %eax,%edx
44: 03 11 addl (%ecx),%edx
46: 83 c1 04 addl $0x4,%ecx
49: 89 4c 24 30 movl %ecx,0x30(%esp,1)
4d: 89 d7 movl %edx,%edi
4f: 89 f1 movl %esi,%ecx
51: 8a 2b movb (%ebx),%ch
53: eb 0b jmp 60 <__GR_shift_scanline+0x60>
55: 8d 74 26 00 leal 0x0(%esi,1),%esi
59: 8d bc 27 00 00 leal 0x0(%edi,1),%edi
5e: 00 00
60: 4b decl %ebx
61: 88 e8 movb %ch,%al
63: 8a 23 movb (%ebx),%ah
65: 88 e5 movb %ah,%ch
67: d3 e8 shrl %cl,%eax
69: 88 07 movb %al,(%edi)
6b: 4f decl %edi
6c: 4d decl %ebp
6d: 75 f1 jne 60 <__GR_shift_scanline+0x60>
6f: d2 ed shrb %cl,%ch
71: 88 2f movb %ch,(%edi)
73: ff 4c 24 14 decl 0x14(%esp,1)
77: 75 a8 jne 21 <__GR_shift_scanline+0x21>
79: eb 5a jmp d5 <__GR_shift_scanline+0xd5>
7b: 90 nop
7c: 8d 74 26 00 leal 0x0(%esi,1),%esi
80: b8 08 00 00 00 movl $0x8,%eax
85: 29 f0 subl %esi,%eax
87: 89 c6 movl %eax,%esi
89: 85 d2 testl %edx,%edx
8b: 7e 48 jle d5 <__GR_shift_scanline+0xd5>
8d: 89 54 24 14 movl %edx,0x14(%esp,1)
91: 8b 44 24 34 movl 0x34(%esp,1),%eax
95: 8b 54 24 30 movl 0x30(%esp,1),%edx
99: 8b 7c 24 38 movl 0x38(%esp,1),%edi
9d: 89 f1 movl %esi,%ecx
9f: 8b 00 movl (%eax),%eax
a1: 89 44 24 1c movl %eax,0x1c(%esp,1)
a5: 83 44 24 34 04 addl $0x4,0x34(%esp,1)
aa: 8b 12 movl (%edx),%edx
ac: 89 54 24 10 movl %edx,0x10(%esp,1)
b0: 83 44 24 30 04 addl $0x4,0x30(%esp,1)
b5: 89 c3 movl %eax,%ebx
b7: 8a 2b movb (%ebx),%ch
b9: eb 05 jmp c0 <__GR_shift_scanline+0xc0>
bb: 90 nop
bc: 8d 74 26 00 leal 0x0(%esi,1),%esi
c0: 43 incl %ebx
c1: 88 ec movb %ch,%ah
c3: 8a 03 movb (%ebx),%al
c5: 88 c5 movb %al,%ch
c7: d3 e8 shrl %cl,%eax
c9: 88 02 movb %al,(%edx)
cb: 42 incl %edx
cc: 4f decl %edi
cd: 75 f1 jne c0 <__GR_shift_scanline+0xc0>
cf: ff 4c 24 14 decl 0x14(%esp,1)
d3: 75 bc jne 91 <__GR_shift_scanline+0x91>
d5: 5b popl %ebx
d6: 5e popl %esi
d7: 5f popl %edi
d8: 5d popl %ebp
d9: 83 c4 1c addl $0x1c,%esp
dc: c3 ret
dd: 8d 76 00 leal 0x0(%esi),%esi
- Raw text -