« August 2004 | Main | January 2005 »

December 2004 Archives

December 4, 2004

SBCL-AMD64 Disassembly

With Dan Barlow's SBCL AMD64 initial backend and Juho Snellman's fixes, I took some time to work on its disassembler. It's been interesting to read the AMD64 technical documentation as well as see the wide registers being used by SBCL.

CL-USER(1): (disassemble 'car)
; 0109DB80:       .ENTRY "top level local call CAR"(LIST)     ; (FUNCTION # *)
;       B0:       488F45F0         POP QWORD PTR [RBP-16]
;       B4:       488D65C0         LEA RSP, [RBP-64]
;       B8:       488BD9           MOV RBX, RCX
;       BB:       488BF2           MOV RSI, RDX
;       BE:       4883FB08         CMP RBX, 8
;       C2:       752C             JNE L0
;       C4:       488BC6           MOV RAX, RSI
;       C7:       40240F           AND AL, 15
;       CA:       403C07           CMP AL, 7
;       CD:       7526             JNE L1
;       CF:       488BC6           MOV RAX, RSI
;       D2:       488B50F9         MOV RDX, [RAX-7]
;       D6:       488B4DF0         MOV RCX, [RBP-16]
;       DA:       488B45F8         MOV RAX, [RBP-8]
;       DE:       4883C103         ADD RCX, 3
;       E2:       488BE5           MOV RSP, RBP
;       E5:       488BE8           MOV RBP, RAX
;       E8:       FFE1             JMP ECX                                                     

About December 2004

This page contains all entries posted to Kevin Rosenberg in December 2004. They are listed from oldest to newest.

August 2004 is the previous archive.

January 2005 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.