Computer
Systems

Spring 2016
course
navigation

Feb 11

We'll continue to explore the chapter 3 (assembler) material in whatever way seems helpful.
One idea:
Or another idea:
GDB resources:
Note that there are two choices for assembly , IA32 and x86-64.
IA32 x86-64 --------- ------------ 4bytes 8bytes addresses (and thus pointer size) 8 16 registers %e... %r register names %esp %rsp stack pointer %ebp %rbp frame pointer (if used) on stack registers(6) function args leal leaq load effective address stack registers local variables
Cute trick for x86 registers for procedure arguments :
Diane's silk dress costs $89. http://csappbook.blogspot.com/2015/08/dianes-silk-dress-costs-89.html
CMU powerpoint slides

what we did

I wrote a fib.c file and started to create a description of what lived where in memory (what I think of as a "memory map"), working within gdb to examine registers and the stack as we stepped through code.
On csmarlboro.org I also installed gcc-multilib (better 64 bit support) and gdb64 (gdb there is 32bit).
See the attached files.
http://cs.marlboro.edu/ courses/ spring2016/systems/ notes/ Feb_11
last modified Thursday February 11 2016 12:53 pm EST

attachments [paper clip]

     name last modified size
[COD]fib.c Feb 11 2016 12:53 pm 609B [TXT]memory.txt Feb 11 2016 12:53 pm 720B