Plaster
New
List
Login
common-lisp
default
anonymous
2021.04.27 15:48:29
CL-USER> (lisp-implementation-version) "2.1.3" CL-USER> (let ((x 42)) (disassemble (lambda () x))) ; disassembly for (LAMBDA ()) ; Size: 30 bytes. Origin: #x52CD627C ; (LAMBDA ()) ; 7C: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; 80: 488945F8 MOV [RBP-8], RAX ; 84: 488B15BDFFFFFF MOV RDX, [RIP-67] ; #<FUNCTION (LAMBDA ; ()) {52CD62AB}> ; 8B: B902000000 MOV ECX, 2 ; 90: FF7508 PUSH QWORD PTR [RBP+8] ; 93: B802D43850 MOV EAX, #x5038D402 ; #<FDEFN DISASSEMBLE> ; 98: FFE0 JMP RAX NIL CL-USER> (let ((x 42)) (lambda () x)) #<FUNCTION (LAMBDA ()) {52CD679B}> CL-USER> (disassemble *) ; disassembly for (LAMBDA ()) ; Size: 21 bytes. Origin: #x52CD676C ; (LAMBDA ()) ; 6C: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; 70: 488945F8 MOV [RBP-8], RAX ; 74: 488B15C5FFFFFF MOV RDX, [RIP-59] ; #<FUNCTION (LAMBDA ; ()) {52CD679B}> ; 7B: 488BE5 MOV RSP, RBP ; 7E: F8 CLC ; 7F: 5D POP RBP ; 80: C3 RET NIL
Raw
Annotate
Repaste
Edit
Annotations
text
default
anonymous
2021.04.27 17:10:08
; disassembly for (LAMBDA ()) ; Size: 128 bytes. Origin: #x53132310 ; (LAMBDA ()) ; 10: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; 14: 488945F8 MOV [RBP-8], RAX ; 18: BF54000000 MOV EDI, 84 ; 1D: 48897DE8 MOV [RBP-24], RDI ; 21: 49896D28 MOV [R13+40], RBP ; thread.pseudo-atomic-bits ; 25: 4D8B5D60 MOV R11, [R13+96] ; thread.alloc-region ; 29: 498D7320 LEA RSI, [R11+32] ; 2D: 493B7568 CMP RSI, [R13+104] ; 31: 0F87800 JNBE #x531323C6 ; 37: 49897560 MOV [R13+96], RSI ; thread.alloc-region ; 3B: 498D730B LEA RSI, [R11+11] ; 3F: B839020000 MOV EAX, 569 ; 44: 490B45E0 OR RAX, [R13-32] ; 48: 488946F5 MOV [RSI-11], RAX ; 4C: 49316D28 XOR [R13+40], RBP ; thread.pseudo-atomic-bits ; 50: 7402 JEQ L0 ; 52: CC09 INT3 9 ; pending interrupt trap ; 54: L0: 488D0545000000 LEA RAX, [RIP+69] ; = #x531323A0 ; 5B: 488946FD MOV [RSI-3], RAX ; 5F: 48897E05 MOV [RSI+5], RDI ; 63: 488BD6 MOV RDX, RSI ; 66: 4883EC10 SUB RSP, 16 ; 6A: B902000000 MOV ECX, 2 ; 6F: 48892C24 MOV [RSP], RBP ; 73: 488BEC MOV RBP, RSP ; 76: 41807D3800 CMP BYTE PTR [R13+56], 0 ; thread.stepping ; 7B: 7402 JEQ L1 ; 7D: CC0D INT3 13 ; single-step trap (around) ;;; [4] (DISASSEMBLE (LAMBDA () X)) ; 7F: L1: B822583B50 MOV EAX, #x503B5822 ; #<FDEFN DISASSEMBLE> ; 84: FFD0 CALL RAX ; 86: 488B7DE8 MOV RDI, [RBP-24] ; 8A: 488BE5 MOV RSP, RBP ; 8D: F8 CLC ; 8E: 5D POP RBP ; 8F: C3 RET NIL
Raw
Repaste
Edit