CL-USER> (asm (i a) (aref (the (simple-array (unsigned-byte 2)) a) i)) ; disassembly for (LAMBDA (I A)) ; Size: 44 bytes. Origin: #x52E3EC16 ; 16: 48D1FA SAR RDX, 1 ; no-arg-parsing entry point ; 19: 488BCA MOV RCX, RDX ; 1C: 48C1E905 SHR RCX, 5 ; 20: 488B44CF01 MOV RAX, [RDI+RCX*8+1] ; 25: 488BCA MOV RCX, RDX ; 28: 4883E11F AND RCX, 31 ; 2C: 48D1E1 SHL RCX, 1 ; 2F: 48D3E8 SHR RAX, CL ; 32: 4883E003 AND RAX, 3 ; 36: 48D1E0 SHL RAX, 1 ; 39: 488BD0 MOV RDX, RAX ; 3C: 488BE5 MOV RSP, RBP ; 3F: F8 CLC ; 40: 5D POP RBP ; 41: C3 RET NIL CL-USER> (asm (i a) (aref (the (simple-array (unsigned-byte 4)) a) i)) ; disassembly for (LAMBDA (I A)) ; Size: 45 bytes. Origin: #x52E3ECA6 ; A6: 48D1FA SAR RDX, 1 ; no-arg-parsing entry point ; A9: 488BCA MOV RCX, RDX ; AC: 48C1E904 SHR RCX, 4 ; B0: 488B44CF01 MOV RAX, [RDI+RCX*8+1] ; B5: 488BCA MOV RCX, RDX ; B8: 4883E10F AND RCX, 15 ; BC: 48C1E102 SHL RCX, 2 ; C0: 48D3E8 SHR RAX, CL ; C3: 4883E00F AND RAX, 15 ; C7: 48D1E0 SHL RAX, 1 ; CA: 488BD0 MOV RDX, RAX ; CD: 488BE5 MOV RSP, RBP ; D0: F8 CLC ; D1: 5D POP RBP ; D2: C3 RET NIL