0
点赞
收藏
分享

微信扫一扫

UCC编译器学习笔记20


UCC 编译器内部用英文单词 generate 来表示中间代码的生成,而用 emit 来表

汇编代码的生成,这里我们统一翻译为“生成”。

第 30 至 34 行的代码用于保存寄存器的值,第 35 行用于在栈空间中预留内存空

间,用来存放局部变量和临时变量,这部分工作被称为“Prologue 序言”,即在函数开始执

行时要处理的工作。而图 6.1.1 第 53 至 57 行被称为“Epilogue 尾声”,用于恢复原先保存的

寄存器值,第 58 行的汇编指令 ret 用于从栈中取出返回地址并返回。而函数 f 的返回值在第

50 至 51 行进行计算,并保存于寄存器 eax。

UCC编译器学习笔记20_局部变量


举报

相关推荐

0 条评论