Plaster

common-lisp
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

Annotations