编译原理课设工作日志

在过去的四天里,我弄清楚了flex和bison的用法,知道了他们如何协作并联合编译,做到了不关注c代码只看.l和.y就能知道生成程序做了什么

同时掌握了makefile的编写和使用

现在是2025/3/29 Sat 12:19
我们需要搞定目标代码生成

32位MIPS汇编

  • 固定长度指令:每条指令都用固定的32位长度,每条指令都是四个字节,所以内存数据的访问必须以32位严格对齐
  • 寻址方式支持基址寻址、立即数寻址、寄存器寻址和伪立即数
  • 跳转指令只有26位目标地址,加上2位对齐位,寻址空间256M
  • 栈空间走向从高地址到低地址
  • 包含32个寄存器

? 临时寄存器(临时寄存器池)

接下来需要:

  1. 熟悉pascal语言

  2. 熟悉32位MIPS汇编

  3. 熟悉生成目标代码的具体原理过程

先进行第一步:

SNL:程序头 声明部分 程序体
我看了编译课设参考书,大致有了个了解

然后进行第二部

复习计组大黑书第二章

你可能感兴趣的:(编译原理,笔记)