Adam Warner <[EMAIL PROTECTED]> writes:

> BTW Gerd it appears you didn't paste in the whole disassembly for main.

Oops, sorry.

CL-USER ==> (l "/tmp/matrix")
t
CL-USER ==> (disassemble 'main)
48346C98:       .entry main()                ; function
     CB0:       pop     dword ptr [ebp-8]
     CB3:       lea     esp, [ebp-64]
     CB6:       mov     eax, ebp             ; No-arg-parsing entry point
     CB8:       mov     ecx, esp
     CBA:       sub     esp, 64
     CBD:       mov     edx, 120
     CC2:       mov     ebx, 120
     CC7:       mov     [ecx-4], eax
     CCA:       mov     ebp, ecx
     CCC:       mov     dword ptr [ebp-8], 1211395288
     CD3:       jmp     L14
     CD8:       mov     [ebp-12], eax
     CDB:       mov     eax, ebp
     CDD:       mov     ecx, esp
     CDF:       sub     esp, 64
     CE2:       mov     edx, 120
     CE7:       mov     ebx, 120
     CEC:       mov     [ecx-4], eax
     CEF:       mov     ebp, ecx
     CF1:       mov     dword ptr [ebp-8], 1211395325
     CF8:       jmp     L14
     CFD:       mov     [ebp-24], eax
     D00:       mov     eax, ebp
     D02:       mov     ecx, esp
     D04:       sub     esp, 64
     D07:       mov     edx, 120
     D0C:       mov     ebx, 120
     D11:       mov     [ecx-4], eax
     D14:       mov     ebp, ecx
     D16:       mov     dword ptr [ebp-8], 1211395362
     D1D:       jmp     L14
     D22:       mov     [ebp-28], eax
     D25:       mov     ebx, esp
     D27:       sub     esp, 20
     D2A:       mov     edx, [#x48346C78]    ; '(30 30)
     D30:       mov     edi, [#x48346C7C]    ; :element-type
     D36:       mov     esi, [#x48346C80]    ; '(unsigned-byte 32)
     D3C:       mov     ecx, [#x48346C84]    ; :displaced-to
     D42:       mov     [ebx-16], ecx
     D45:       mov     [ebx-20], eax
     D48:       mov     eax, [#x48346C88]    ; #<FDEFINITION object for make-array>
     D4E:       mov     ecx, 20
     D53:       mov     [ebx-4], ebp
     D56:       mov     ebp, ebx
     D58:       call    dword ptr [eax+5]
     D5B:       mov     esp, ebx
     D5D:       mov     [ebp-16], edx
     D60:       xor     ecx, ecx
     D62:       jmp     L7
     D67: L0:   mov     ebx, [ebp-12]
     D6A:       mov     esi, [ebp-24]
     D6D:       mov     edi, 0
     D72:       mov     dword ptr [ebp-20], 4294967176
     D79:       mov     dword ptr [ebp-32], 0
     D80:       mov     dword ptr [ebp-36], 0
     D87:       jmp     L6
     D8C: L1:   mov     eax, [ebp-20]
     D8F:       add     eax, 120
     D92:       mov     [ebp-20], eax
     D95:       mov     dword ptr [ebp-40], 0
     D9C:       jmp     L5
     D9E: L2:   mov     edi, 0
     DA3:       mov     dword ptr [ebp-32], 4294967176
     DAA:       mov     dword ptr [ebp-44], 0
     DB1:       jmp     L4
     DB3: L3:   mov     eax, [ebp-32]
     DB6:       add     eax, 120
     DB9:       mov     [ebp-32], eax
     DBC:       mov     eax, [ebp-20]
     DBF:       add     eax, [ebp-44]
     DC2:       mov     edx, [ebx+eax+1]
     DC6:       mov     eax, [ebp-32]
     DC9:       add     eax, [ebp-40]
     DCC:       mov     eax, [esi+eax+1]
     DD0:       mov     [ebp-48], eax
     DD3:       mov     eax, edx
     DD5:       mul     eax, [ebp-48]
     DD8:       add     edi, eax
     DDA:       mov     eax, [ebp-44]
     DDD:       add     eax, 4
     DE0:       mov     [ebp-44], eax
     DE3: L4:   cmp     dword ptr [ebp-44], 120
     DE7:       jl      L3
     DE9:       mov     eax, [ebp-20]
     DEC:       add     eax, [ebp-40]
     DEF:       mov     edx, [ebp-28]
     DF2:       mov     [edx+eax+1], edi
     DF6:       mov     eax, [ebp-40]
     DF9:       add     eax, 4
     DFC:       mov     [ebp-40], eax
     DFF: L5:   cmp     dword ptr [ebp-40], 120
     E03:       jl      L2
     E05:       mov     eax, [ebp-36]
     E08:       add     eax, 4
     E0B:       mov     [ebp-36], eax
     E0E: L6:   cmp     dword ptr [ebp-36], 120
     E12:       jl      L1
     E18:       add     ecx, 4
     E1B: L7:   cmp     ecx, 40000
     E21:       jl      L0
     E27:       mov     ebx, esp
     E29:       sub     esp, 12
     E2C:       mov     edx, [ebp-16]
     E2F:       xor     edi, edi
     E31:       mov     esi, #x28F0000B      ; nil
     E36:       mov     eax, [#x48346C8C]    ; #<FDEFINITION object for 
kernel:%with-array-data>
     E3C:       mov     ecx, 12
     E41:       mov     [ebx-4], ebp
     E44:       mov     ebp, ebx
     E46:       call    dword ptr [eax+5]
     E49:       jmp     L8
     E4B:       mov     edi, #x28F0000B      ; nil
     E50:       mov     ebx, esp
     E52: L8:   mov     esp, ebx
     E54:       mov     eax, [edx+edi+1]
     E58:       mov     [ebp-12], eax
     E5B:       mov     eax, [ebp-16]
     E5E:       mov     edi, [eax+25]
     E61:       shl     edi, 1
     E63:       add     edi, 12
     E66:       mov     ebx, esp
     E68:       sub     esp, 12
     E6B:       mov     edx, [ebp-16]
     E6E:       mov     esi, #x28F0000B      ; nil
     E73:       mov     eax, [#x48346C8C]    ; #<FDEFINITION object for 
kernel:%with-array-data>
     E79:       mov     ecx, 12
     E7E:       mov     [ebx-4], ebp
     E81:       mov     ebp, ebx
     E83:       call    dword ptr [eax+5]
     E86:       jmp     L9
     E88:       mov     edi, #x28F0000B      ; nil
     E8D:       mov     ebx, esp
     E8F: L9:   mov     esp, ebx
     E91:       mov     eax, [edx+edi+1]
     E95:       mov     [ebp-20], eax
     E98:       mov     eax, [ebp-16]
     E9B:       mov     eax, [eax+25]
     E9E:       sar     eax, 2
     EA1:       mov     edi, eax
     EA3:       shl     edi, 2
     EA6:       sub     edi, eax
     EA8:       shl     edi, 2
     EAB:       add     edi, 8
     EAE:       mov     ebx, esp
     EB0:       sub     esp, 12
     EB3:       mov     edx, [ebp-16]
     EB6:       mov     esi, #x28F0000B      ; nil
     EBB:       mov     eax, [#x48346C8C]    ; #<FDEFINITION object for 
kernel:%with-array-data>
     EC1:       mov     ecx, 12
     EC6:       mov     [ebx-4], ebp
     EC9:       mov     ebp, ebx
     ECB:       call    dword ptr [eax+5]
     ECE:       jmp     L10
     ED0:       mov     edi, #x28F0000B      ; nil
     ED5:       mov     ebx, esp
     ED7: L10:  mov     esp, ebx
     ED9:       mov     eax, [edx+edi+1]
     EDD:       mov     [ebp-24], eax
     EE0:       mov     eax, [ebp-16]
     EE3:       mov     edi, [eax+25]
     EE6:       shl     edi, 2
     EE9:       add     edi, 16
     EEC:       mov     ebx, esp
     EEE:       sub     esp, 12
     EF1:       mov     edx, [ebp-16]
     EF4:       mov     esi, #x28F0000B      ; nil
     EF9:       mov     eax, [#x48346C8C]    ; #<FDEFINITION object for 
kernel:%with-array-data>
     EFF:       mov     ecx, 12
     F04:       mov     [ebx-4], ebp
     F07:       mov     ebp, ebx
     F09:       call    dword ptr [eax+5]
     F0C:       jmp     L11
     F0E:       mov     edi, #x28F0000B      ; nil
     F13:       mov     ebx, esp
     F15: L11:  mov     esp, ebx
     F17:       mov     eax, [edx+edi+1]
     F1B:       mov     [ebp-28], eax
     F1E:       mov     edx, 686817319       ; t
     F23:       mov     edi, [#x48346C90]    ; "~D ~D ~D ~D~%"
     F29:       mov     ecx, [ebp-12]
     F2C:       test    ecx, 3758096384
     F32:       jne     #x48346FD8
     F38:       lea     esi, [ecx*4]
     F3F:       mov     ebx, [ebp-20]
     F42:       test    ebx, 3758096384
     F48:       jne     #x48347031
     F4E:       lea     ecx, [ebx*4]
     F55:       mov     [ebp-16], ecx
     F58:       mov     ecx, [ebp-24]
     F5B:       test    ecx, 3758096384
     F61:       jne     #x4834708A
     F67:       lea     ebx, [ecx*4]
     F6E:       mov     [ebp-20], ebx
     F71:       mov     ecx, [ebp-28]
     F74:       test    ecx, 3758096384
     F7A:       jne     #x483470E3
     F80:       lea     ebx, [ecx*4]
     F87:       mov     [ebp-24], ebx
     F8A:       mov     eax, [#x48346C94]    ; #<FDEFINITION object for format>
     F90:       mov     ecx, 24
     F95:       push    dword ptr [ebp-8]
     F98:       jmp     dword ptr [eax+5]
CL-USER ==> 

Reply via email to