第03章 程序的机器级表示
3. 2 程序编码
编译:将源代码转化成可执行代码 就是说程序能够让机器看得懂
希望能来张图
存储器:临时存储数据和指令的硬件
寄存器:CPU暂存指令、数据和地址的存储器
//mstor.c
long mult2(long, long);
void multstore(long x, long y, long *dest){
long t = mult2(x, y);
*dest = t;
}
#查看汇编文件内容
type mstore.c
.file "mstore.c"
.text
.globl multstore
.def multstore; .scl 2; .type 32; .endef
.seh_proc multstore
multstore:
pushq %rbx
.seh_pushreg %rbx
subq $32, %rsp
.seh_stackalloc 32
.seh_endprologue
movq %r8, %rbx
call mult2
movl %eax, (%rbx)
addq $32, %rsp
popq %rbx
ret
.seh_endproc
.ident "GCC: (x86_64-win32-seh-rev0, Built by MinGW-W64 project) 8.1.0"
.def mult2; .scl 2; .type 32; .endef