Definitions Architecture(ISA : Instruction set architecture) : The parts of a processor design that one needs to understand for writing assembly/mach
(Information about currently executing program)Temporary data (%rax, ...)Location of runtime stack (%rsp, ...)Location of current code control point (
프로시저 P가 프로시저 Q를 호출하고,Q가 실행한 후에 다시 P로 리턴한다고 가정하자.다음과 같은 하나 이상의 mechanism이 연관된다.Passing control (제어권 전달): To beginning of procedure code: Back to retuun
하나의 procedure(caller)가 다른 procedure(callee)를 호출(call)할 때, callee는 caller가 나중에 사용할 계획인 일부 레지스터 값은 덮어쓰지 않는다.관습적으로 %rbx, %rbp, %r12~ %r15는 피호출자 저장 레지스터로,
Programs refer to data by addressImagine all of RAM as an enormous array of bytesAn address is an index into that arrayA pointer variable stores an ad
Memory Layout / Buffer / Buffer Overflow / System-level protection / Avoid overflow vulnerability / Stack Canary
Exercise is on a separate piece of paper