From: Kevin Layer

Subject: Re: Franz ACL 4.3.2 for Windows compared to ACL 3.0.1

Date: 1997-6-16 19:55

Here's the disassembly in the current pre-released version of ACL 5.0,
just for comparison and to show that we are making progress:

PNPOLY goes from 425 to 385 bytes and PNPOLYTEST goes from 911 to 755
bytes:

;; disassembly of #<Function pnpoly>
;; formals: npol xp yp x y

;; code start: #x2081d7d4:
   0: 55          pushl	ebp
   1: 8b ec       movl	ebp,esp
   3: 56          pushl	esi
   4: 83 ec 44    subl	esp,$68
   7: 8b 5d 18    movl	ebx,[ebp+24]    ; y
  10: dd 43 16    fldq [ebx+22]
  13: dd da       fstp st(2)
  15: 8b 5d 14    movl	ebx,[ebp+20]    ; x
  18: dd 43 16    fldq [ebx+22]
  21: dd db       fstp st(3)
  23: 8b df       movl	ebx,edi
  25: 89 55 d0    movl	[ebp-48],edx    ; xp
  28: 8b d0       movl	edx,eax
  30: 83 c2 fc    addl	edx,$-4
  33: 89 45 cc    movl	[ebp-52],eax    ; npol
  36: 33 c0       xorl	eax,eax
  38: 3b 45 cc    cmpl	eax,[ebp-52]    ; npol
  41: 7c 08       jl	51
  43: 8b c3       movl	eax,ebx
  45: f8          clc
  46: c9          leave
  47: 8b 75 fc    movl	esi,[ebp-4]
  50: c3          ret
  51: 89 5d d4    movl	[ebp-44],ebx    ; c
  54: 8b d8       movl	ebx,eax
  56: d1 e3       sall	ebx,$1
  58: 89 55 d8    movl	[ebp-40],edx    ; j
  61: 8b 55 10    movl	edx,[ebp+16]    ; yp
  64: dd 44 1a 16 fldq [edx+ebx+22]
  68: dd dc       fstp st(4)
  70: d9 c3       fld st,st(3)
  72: d8 da       fcomp st,st(2)
  74: 8b c8       movl	ecx,eax
  76: df e0       ffstswax 
  78: 9e          sahf
  79: 8b c1       movl	eax,ecx
  81: 7b 02       jnp	85
  83: cd 68       int	$104            ; trap-unordered
  85: 76 2f       jbe	134
  87: 8b 5d d8    movl	ebx,[ebp-40]    ; j
  90: 89 45 dc    movl	[ebp-36],eax    ; i
  93: 8b c3       movl	eax,ebx
  95: d1 e0       sall	eax,$1
  97: dd 44 02 16 fldq [edx+eax+22]
 101: dd dc       fstp st(4)
 103: d9 c3       fld st,st(3)
 105: d8 da       fcomp st,st(2)
 107: 8b c8       movl	ecx,eax
 109: df e0       ffstswax 
 111: 9e          sahf
 112: 8b c1       movl	eax,ecx
 114: 7b 02       jnp	118
 116: cd 68       int	$104            ; trap-unordered
 118: 76 34       jbe	172
 120: 8b 55 dc    movl	edx,[ebp-36]    ; i
 123: 8b 45 dc    movl	eax,[ebp-36]    ; i
 126: 83 c0 04    addl	eax,$4
 129: 8b 5d d4    movl	ebx,[ebp-44]    ; c
 132: eb a0       jmp	38
 134: 8b 5d d8    movl	ebx,[ebp-40]    ; j
 137: 89 45 dc    movl	[ebp-36],eax    ; i
 140: 8b c3       movl	eax,ebx
 142: d1 e0       sall	eax,$1
 144: dd 44 02 16 fldq [edx+eax+22]
 148: dd dc       fstp st(4)
 150: d9 c1       fld st,st(1)
 152: d8 dc       fcomp st,st(4)
 154: 8b c8       movl	ecx,eax
 156: df e0       ffstswax 
 158: 9e          sahf
 159: 8b c1       movl	eax,ecx
 161: 7b 02       jnp	165
 163: cd 68       int	$104            ; trap-unordered
 165: 72 29       jb	208
 167: 8b 45 dc    movl	eax,[ebp-36]    ; i
 170: eb ab       jmp	87
 172: 8b 45 dc    movl	eax,[ebp-36]    ; i
 175: 8b d8       movl	ebx,eax
 177: d1 e3       sall	ebx,$1
 179: dd 44 1a 16 fldq [edx+ebx+22]
 183: dd dc       fstp st(4)
 185: d9 c1       fld st,st(1)
 187: d8 dc       fcomp st,st(4)
 189: 8b c8       movl	ecx,eax
 191: df e0       ffstswax 
 193: 9e          sahf
 194: 8b c1       movl	eax,ecx
 196: 7b 02       jnp	200
 198: cd 68       int	$104            ; trap-unordered
 200: 0f 82 9f 00 jb	365
      00 00 
 206: eb a8       jmp	120
 208: 8b 45 dc    movl	eax,[ebp-36]    ; i
 211: 8b d0       movl	edx,eax
 213: d1 e2       sall	edx,$1
 215: 8b 5d d0    movl	ebx,[ebp-48]    ; xp
 218: dd 44 13 16 fldq [ebx+edx+22]
 222: dd dc       fstp st(4)
 224: 8b 55 d8    movl	edx,[ebp-40]    ; j
 227: 8b c2       movl	eax,edx
 229: d1 e0       sall	eax,$1
 231: dd 44 03 16 fldq [ebx+eax+22]
 235: dd dd       fstp st(5)
 237: 8b 45 dc    movl	eax,[ebp-36]    ; i
 240: 8b d0       movl	edx,eax
 242: d1 e2       sall	edx,$1
 244: dd 44 13 16 fldq [ebx+edx+22]
 248: dd de       fstp st(6)
 250: d9 c4       fld st,st(4)
 252: d8 e6       fsub st,st(6)
 254: dd dd       fstp st(5)
 256: 8b d0       movl	edx,eax
 258: d1 e2       sall	edx,$1
 260: 8b 5d 10    movl	ebx,[ebp+16]    ; yp
 263: dd 44 13 16 fldq [ebx+edx+22]
 267: dd de       fstp st(6)
 269: d9 c1       fld st,st(1)
 271: d8 e6       fsub st,st(6)
 273: dd de       fstp st(6)
 275: d9 c4       fld st,st(4)
 277: d8 ce       fmul st,st(6)
 279: dd dd       fstp st(5)
 281: 8b 55 d8    movl	edx,[ebp-40]    ; j
 284: d1 e2       sall	edx,$1
 286: dd 44 13 16 fldq [ebx+edx+22]
 290: dd de       fstp st(6)
 292: 8b d0       movl	edx,eax
 294: d1 e2       sall	edx,$1
 296: d9 c3       fld st,st(3)
 298: dd 5d e0    fstpq [ebp-32]
 301: dd 44 13 16 fldq [ebx+edx+22]
 305: dd dc       fstp st(4)
 307: d9 c5       fld st,st(5)
 309: d8 e4       fsub st,st(4)
 311: dd dc       fstp st(4)
 313: d9 c4       fld st,st(4)
 315: d8 f4       fdiv st,st(4)
 317: dd dc       fstp st(4)
 319: dd 45 e0    fldq [ebp-32]
 322: dd dd       fstp st(5)
 324: d9 c3       fld st,st(3)
 326: d8 c5       fadd st,st(5)
 328: dd dc       fstp st(4)
 330: d9 c2       fld st,st(2)
 332: d8 dc       fcomp st,st(4)
 334: 8b c8       movl	ecx,eax
 336: df e0       ffstswax 
 338: 9e          sahf
 339: 8b c1       movl	eax,ecx
 341: 7b 02       jnp	345
 343: cd 68       int	$104            ; trap-unordered
 345: 73 1a       jnb	373
 347: 3b 7d d4    cmpl	edi,[ebp-44]    ; c
 350: 75 1c       jnz	380
 352: ff 77 f3    pushl	[edi-13]        ; t
 355: 8f 45 d4    popl	[ebp-44]        ; c
 358: 8b d3       movl	edx,ebx
 360: e9 0b ff ff jmp 120
      ff 
 365: 8b 5d d8    movl	ebx,[ebp-40]    ; j
 368: e9 5b ff ff jmp 208
      ff 
 373: 8b d3       movl	edx,ebx
 375: e9 fc fe ff jmp 120
      ff 
 380: 89 7d d4    movl	[ebp-44],edi    ; c
 383: eb e5       jmp	358
 385: 90          nop



;; disassembly of #<Function pnpolytest>
;; formals: 
;; constant vector:
0:	(20)
1:	(0.0d0 1.0d0 1.0d0 0.0d0 0.0d0 1.0d0 -0.5d0 -1.0d0 -1.0d0 -2.0d0 -2.5d0 ..)
2:	excl::array-initialize
3:	(0.0d0 0.0d0 1.0d0 1.0d0 2.0d0 3.0d0 2.0d0 3.0d0 0.0d0 -0.5d0 -1.0d0 ..)
4:	"Count "
5:	princ
6:	0.5d0
7:	pnpoly
8:	1.5d0
9:	-0.5d0
10:	0.75d0
11:	2.25d0
12:	0.0d0
13:	2.01d0
14:	2.5d0
15:	-1.0d0
16:	-1.5d0
17:	-2.25d0
18:	-0.25d0
19:	-1.25d0
20:	-2.5d0

;; code start: #x207af544:
   0: 55          pushl	ebp
   1: 8b ec       movl	ebp,esp
   3: 56          pushl	esi
   4: 81 ec ac 00 subl	esp,$172        ; 43
      00 00 
  10: 6a 50       pushb	$80             ; 20
  12: 8f 45 e0    popl	[ebp-32]        ; npol
  15: 6a 00       pushb	$0              ; 0
  17: 8f 45 e4    popl	[ebp-28]        ; count
  20: 8b d7       movl	edx,edi
  22: 33 c0       xorl	eax,eax
  24: b0 50       movb	al,$80
  26: 83 c4 10    addl	esp,$16
  29: 57          pushl	edi
  30: 68 9c 01 00 pushl	$412            ; 103
      00 
  35: 52          pushl	edx
  36: 50          pushl	eax
  37: 33 c9       xorl	ecx,ecx
  39: b1 04       movb	cl,$4
  41: ff 97 cb 00 call	*[edi+203]      ; make-svector
      00 00 
  47: 89 45 dc    movl	[ebp-36],eax    ; xp
  50: 8b 56 32    movl	edx,[esi+50]    ; (20)
  53: 83 c4 0c    addl	esp,$12
  56: ff 76 36    pushl	[esi+54]        ; (0.0d0
                                           1.0d0
                                           1.0d0
                                           0.0d0
                                           0.0d0
                                           1.0d0
                                           -0.5d0
                                           -1.0d0
                                           -1.0d0
                                           -2.0d0
                                           -2.5d0
                                           -2.0d0
                                           -1.5d0
                                           -0.5d0
                                           1.0d0
                                           1.0d0
                                           0.0d0
                                           -0.5d0
                                           -1.0d0
                                           -0.5d0)
  59: 52          pushl	edx
  60: 50          pushl	eax
  61: 8b 5e 3a    movl	ebx,[esi+58]    ; array-initialize
  64: b1 03       movb	cl,$3
  66: ff d7       call	*edi
  68: 8b d7       movl	edx,edi
  70: 33 c0       xorl	eax,eax
  72: b0 50       movb	al,$80
  74: 83 c4 10    addl	esp,$16
  77: 57          pushl	edi
  78: 68 9c 01 00 pushl	$412            ; 103
      00 
  83: 52          pushl	edx
  84: 50          pushl	eax
  85: 33 c9       xorl	ecx,ecx
  87: b1 04       movb	cl,$4
  89: ff 97 cb 00 call	*[edi+203]      ; make-svector
      00 00 
  95: 89 45 d8    movl	[ebp-40],eax    ; yp
  98: 8b 56 32    movl	edx,[esi+50]    ; (20)
 101: 83 c4 0c    addl	esp,$12
 104: ff 76 3e    pushl	[esi+62]        ; (0.0d0
                                           0.0d0
                                           1.0d0
                                           1.0d0
                                           2.0d0
                                           3.0d0
                                           2.0d0
                                           3.0d0
                                           0.0d0
                                           -0.5d0
                                           -1.0d0
                                           -1.5d0
                                           -2.0d0
                                           -2.0d0
                                           -1.5d0
                                           -1.0d0
                                           -0.5d0
                                           -1.0d0
                                           -1.0d0
                                           -0.5d0)
 107: 52          pushl	edx
 108: 50          pushl	eax
 109: 8b 5e 3a    movl	ebx,[esi+58]    ; array-initialize
 112: b1 03       movb	cl,$3
 114: ff d7       call	*edi
 116: 33 db       xorl	ebx,ebx
 118: 81 fb 80 1a cmpl	ebx,$400000     ; 100000
      06 00 
 124: 7c 1d       jl	155
 126: 8b 46 42    movl	eax,[esi+66]    ; Count 
 129: 8b 5e 46    movl	ebx,[esi+70]    ; princ
 132: b1 01       movb	cl,$1
 134: ff d7       call	*edi
 136: 8b 45 e4    movl	eax,[ebp-28]    ; count
 139: 8b 5e 46    movl	ebx,[esi+70]    ; princ
 142: b1 01       movb	cl,$1
 144: ff d7       call	*edi
 146: 8b 45 e4    movl	eax,[ebp-28]    ; count
 149: f8          clc
 150: c9          leave
 151: 8b 75 fc    movl	esi,[ebp-4]
 154: c3          ret
 155: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 158: 8f 45 d0    popl	[ebp-48]        ; (local 5)
 161: 89 5d d4    movl	[ebp-44],ebx    ; i
 164: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 167: 8f 45 cc    popl	[ebp-52]        ; (local 6)
 170: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 173: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 176: 83 c4 14    addl	esp,$20
 179: ff 75 cc    pushl	[ebp-52]        ; (local 6)
 182: ff 75 d0    pushl	[ebp-48]        ; (local 5)
 185: ff 75 d8    pushl	[ebp-40]        ; yp
 188: 52          pushl	edx
 189: 50          pushl	eax
 190: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 193: b1 05       movb	cl,$5
 195: ff d7       call	*edi
 197: 3b f8       cmpl	edi,eax
 199: 74 04       jz	205
 201: 83 45 e4 04 addl	[ebp-28],$4     ; count
 205: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 208: 8f 45 c8    popl	[ebp-56]        ; (local 7)
 211: ff 76 52    pushl	[esi+82]        ; 1.5d0
 214: 8f 45 c4    popl	[ebp-60]        ; (local 8)
 217: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 220: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 223: 83 c4 14    addl	esp,$20
 226: ff 75 c4    pushl	[ebp-60]        ; (local 8)
 229: ff 75 c8    pushl	[ebp-56]        ; (local 7)
 232: ff 75 d8    pushl	[ebp-40]        ; yp
 235: 52          pushl	edx
 236: 50          pushl	eax
 237: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 240: b1 05       movb	cl,$5
 242: ff d7       call	*edi
 244: 3b f8       cmpl	edi,eax
 246: 74 04       jz	252
 248: 83 45 e4 04 addl	[ebp-28],$4     ; count
 252: ff 76 56    pushl	[esi+86]        ; -0.5d0
 255: 8f 45 c0    popl	[ebp-64]        ; (local 9)
 258: ff 76 52    pushl	[esi+82]        ; 1.5d0
 261: 8f 45 bc    popl	[ebp-68]        ; (local 10)
 264: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 267: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 270: 83 c4 14    addl	esp,$20
 273: ff 75 bc    pushl	[ebp-68]        ; (local 10)
 276: ff 75 c0    pushl	[ebp-64]        ; (local 9)
 279: ff 75 d8    pushl	[ebp-40]        ; yp
 282: 52          pushl	edx
 283: 50          pushl	eax
 284: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 287: b1 05       movb	cl,$5
 289: ff d7       call	*edi
 291: 3b f8       cmpl	edi,eax
 293: 74 04       jz	299
 295: 83 45 e4 04 addl	[ebp-28],$4     ; count
 299: ff 76 5a    pushl	[esi+90]        ; 0.75d0
 302: 8f 45 b8    popl	[ebp-72]        ; (local 11)
 305: ff 76 5e    pushl	[esi+94]        ; 2.25d0
 308: 8f 45 b4    popl	[ebp-76]        ; (local 12)
 311: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 314: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 317: 83 c4 14    addl	esp,$20
 320: ff 75 b4    pushl	[ebp-76]        ; (local 12)
 323: ff 75 b8    pushl	[ebp-72]        ; (local 11)
 326: ff 75 d8    pushl	[ebp-40]        ; yp
 329: 52          pushl	edx
 330: 50          pushl	eax
 331: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 334: b1 05       movb	cl,$5
 336: ff d7       call	*edi
 338: 3b f8       cmpl	edi,eax
 340: 74 04       jz	346
 342: 83 45 e4 04 addl	[ebp-28],$4     ; count
 346: ff 76 62    pushl	[esi+98]        ; 0.0d0
 349: 8f 45 b0    popl	[ebp-80]        ; (local 13)
 352: ff 76 66    pushl	[esi+102]       ; 2.01d0
 355: 8f 45 ac    popl	[ebp-84]        ; (local 14)
 358: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 361: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 364: 83 c4 14    addl	esp,$20
 367: ff 75 ac    pushl	[ebp-84]        ; (local 14)
 370: ff 75 b0    pushl	[ebp-80]        ; (local 13)
 373: ff 75 d8    pushl	[ebp-40]        ; yp
 376: 52          pushl	edx
 377: 50          pushl	eax
 378: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 381: b1 05       movb	cl,$5
 383: ff d7       call	*edi
 385: 3b f8       cmpl	edi,eax
 387: 74 04       jz	393
 389: 83 45 e4 04 addl	[ebp-28],$4     ; count
 393: ff 76 56    pushl	[esi+86]        ; -0.5d0
 396: 8f 45 a8    popl	[ebp-88]        ; (local 15)
 399: ff 76 6a    pushl	[esi+106]       ; 2.5d0
 402: 8f 45 a4    popl	[ebp-92]        ; (local 16)
 405: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 408: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 411: 83 c4 14    addl	esp,$20
 414: ff 75 a4    pushl	[ebp-92]        ; (local 16)
 417: ff 75 a8    pushl	[ebp-88]        ; (local 15)
 420: ff 75 d8    pushl	[ebp-40]        ; yp
 423: 52          pushl	edx
 424: 50          pushl	eax
 425: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 428: b1 05       movb	cl,$5
 430: ff d7       call	*edi
 432: 3b f8       cmpl	edi,eax
 434: 74 04       jz	440
 436: 83 45 e4 04 addl	[ebp-28],$4     ; count
 440: ff 76 6e    pushl	[esi+110]       ; -1.0d0
 443: 8f 45 a0    popl	[ebp-96]        ; (local 17)
 446: ff 76 56    pushl	[esi+86]        ; -0.5d0
 449: 8f 45 9c    popl	[ebp-100]       ; (local 18)
 452: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 455: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 458: 83 c4 14    addl	esp,$20
 461: ff 75 9c    pushl	[ebp-100]       ; (local 18)
 464: ff 75 a0    pushl	[ebp-96]        ; (local 17)
 467: ff 75 d8    pushl	[ebp-40]        ; yp
 470: 52          pushl	edx
 471: 50          pushl	eax
 472: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 475: b1 05       movb	cl,$5
 477: ff d7       call	*edi
 479: 3b f8       cmpl	edi,eax
 481: 74 04       jz	487
 483: 83 45 e4 04 addl	[ebp-28],$4     ; count
 487: ff 76 72    pushl	[esi+114]       ; -1.5d0
 490: 8f 45 98    popl	[ebp-104]       ; (local 19)
 493: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 496: 8f 45 94    popl	[ebp-108]       ; (local 20)
 499: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 502: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 505: 83 c4 14    addl	esp,$20
 508: ff 75 94    pushl	[ebp-108]       ; (local 20)
 511: ff 75 98    pushl	[ebp-104]       ; (local 19)
 514: ff 75 d8    pushl	[ebp-40]        ; yp
 517: 52          pushl	edx
 518: 50          pushl	eax
 519: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 522: b1 05       movb	cl,$5
 524: ff d7       call	*edi
 526: 3b f8       cmpl	edi,eax
 528: 74 04       jz	534
 530: 83 45 e4 04 addl	[ebp-28],$4     ; count
 534: ff 76 76    pushl	[esi+118]       ; -2.25d0
 537: 8f 45 90    popl	[ebp-112]       ; (local 21)
 540: ff 76 6e    pushl	[esi+110]       ; -1.0d0
 543: 8f 45 8c    popl	[ebp-116]       ; (local 22)
 546: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 549: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 552: 83 c4 14    addl	esp,$20
 555: ff 75 8c    pushl	[ebp-116]       ; (local 22)
 558: ff 75 90    pushl	[ebp-112]       ; (local 21)
 561: ff 75 d8    pushl	[ebp-40]        ; yp
 564: 52          pushl	edx
 565: 50          pushl	eax
 566: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 569: b1 05       movb	cl,$5
 571: ff d7       call	*edi
 573: 3b f8       cmpl	edi,eax
 575: 74 04       jz	581
 577: 83 45 e4 04 addl	[ebp-28],$4     ; count
 581: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 584: 8f 45 88    popl	[ebp-120]       ; (local 23)
 587: ff 76 7a    pushl	[esi+122]       ; -0.25d0
 590: 8f 45 84    popl	[ebp-124]       ; (local 24)
 593: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 596: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 599: 83 c4 14    addl	esp,$20
 602: ff 75 84    pushl	[ebp-124]       ; (local 24)
 605: ff 75 88    pushl	[ebp-120]       ; (local 23)
 608: ff 75 d8    pushl	[ebp-40]        ; yp
 611: 52          pushl	edx
 612: 50          pushl	eax
 613: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 616: b1 05       movb	cl,$5
 618: ff d7       call	*edi
 620: 3b f8       cmpl	edi,eax
 622: 74 04       jz	628
 624: 83 45 e4 04 addl	[ebp-28],$4     ; count
 628: ff 76 4a    pushl	[esi+74]        ; 0.5d0
 631: 8f 45 80    popl	[ebp-128]       ; (local 25)
 634: ff 76 7e    pushl	[esi+126]       ; -1.25d0
 637: 8f 85 7c ff popl	[ebp-132]       ; (local 26)
      ff ff 
 643: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 646: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 649: 83 c4 14    addl	esp,$20
 652: ff b5 7c ff pushl	[ebp-132]       ; (local 26)
      ff ff 
 658: ff 75 80    pushl	[ebp-128]       ; (local 25)
 661: ff 75 d8    pushl	[ebp-40]        ; yp
 664: 52          pushl	edx
 665: 50          pushl	eax
 666: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 669: b1 05       movb	cl,$5
 671: ff d7       call	*edi
 673: 3b f8       cmpl	edi,eax
 675: 74 04       jz	681
 677: 83 45 e4 04 addl	[ebp-28],$4     ; count
 681: ff 76 56    pushl	[esi+86]        ; -0.5d0
 684: 8f 85 78 ff popl	[ebp-136]       ; (local 27)
      ff ff 
 690: ff b6 82 00 pushl	[esi+130]       ; -2.5d0
      00 00 
 696: 8f 85 74 ff popl	[ebp-140]       ; (local 28)
      ff ff 
 702: 8b 45 e0    movl	eax,[ebp-32]    ; npol
 705: 8b 55 dc    movl	edx,[ebp-36]    ; xp
 708: 83 c4 14    addl	esp,$20
 711: ff b5 74 ff pushl	[ebp-140]       ; (local 28)
      ff ff 
 717: ff b5 78 ff pushl	[ebp-136]       ; (local 27)
      ff ff 
 723: ff 75 d8    pushl	[ebp-40]        ; yp
 726: 52          pushl	edx
 727: 50          pushl	eax
 728: 8b 5e 4e    movl	ebx,[esi+78]    ; pnpoly
 731: b1 05       movb	cl,$5
 733: ff d7       call	*edi
 735: 3b f8       cmpl	edi,eax
 737: 74 04       jz	743
 739: 83 45 e4 04 addl	[ebp-28],$4     ; count
 743: 83 45 d4 04 addl	[ebp-44],$4     ; i
 747: 8b 5d d4    movl	ebx,[ebp-44]    ; i
 750: e9 83 fd ff jmp 118
      ff 
 755: 90          nop

Kevin Layer             <Franz.COM at layer>        http://www.franz.com/
Franz Inc., 1995 University Avenue, Suite 275, Berkeley, CA  94704, USA
Phone: (510) 548-3600   FAX: (510) 548-8253