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 ==>