“CL-USER> (disassemble (lambda() (loop for x in ‘(1 2 3 4) sum x)))
; disassembly for (LAMBDA ())
; 2706E042: BF0B001022 MOV EDI, 571473931  ; no-arg-parsing entry point
; 47: 8B1D18E00627 MOV EBX, [#x2706E018]  ; ‘(1 2 3 4)
; 4D: 31C0 XOR EAX, EAX
; 4F: L0: 8B7BFD MOV EDI, [EBX-3]
; 52: 8B5B01 MOV EBX, [EBX+1]
; 55: 895DFC MOV [EBP-4], EBX
; 58: 8BD0 MOV EDX, EAX
; 5A: E87121F9FA CALL #x220001D0  ; GENERIC-+
; 5F: 7302 JNB L1
; 61: 8BE3 MOV ESP, EBX
; 63: L1: 8BC2 MOV EAX, EDX
; 65: 8B5DFC MOV EBX, [EBP-4]
; 68: 81FB0B001022 CMP EBX, 571473931
; 6E: 75DF JNE L0
; 70: 8BD0 MOV EDX, EAX
; 72: 8BE5 MOV ESP, EBP
; 74: F8 CLC
; 75: 5D POP EBP
; 76: C3 RET
NIL”


Powered by Tumblr.