当前位置: 首页 > news >正文

编译原理课设工作日志

在过去的四天里,我弄清楚了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:程序头 声明部分 程序体
我看了编译课设参考书,大致有了个了解

然后进行第二部

复习计组大黑书第二章

http://www.dtcms.com/a/98756.html

相关文章:

  • 一些练习 C 语言的小游戏
  • 探索Scala基础:融合函数式与面向对象编程的强大语言
  • 在 Unreal Engine 5 中制作类似《鬼泣5》这样的游戏时,角色在空中无法落地的问题可能由多种原因引起。
  • C++作用域辨识详解
  • 高等数学-第七版-上册 选做记录 习题7-4
  • linux基本命令(1)--linux下的打包命令 -- tar 和gzip
  • 电子电气架构 --- 域控架构下,汽车连接器的挑战和变化
  • Ethernet/IP转Modbus剖析库卡机器人同S7-1200PLC双向通讯的技术
  • OpenAI API - Realtime 实时
  • 高速电路中的存储器应用与设计四
  • 【JavaScript】合体期功法——DOM(一)
  • Python 序列构成的数组(元组不仅仅是不可变的列表)
  • 质因数个数--欧拉函数中统计纯素数
  • 直播推流全面指南
  • 【设计模式】单例模式
  • 安卓分发平台一站式APP应用内测平台
  • ros2--功能包
  • 如何备份你的 Postman 所有 Collection?
  • 0329-项目(添加 删除 修改)
  • Java内存中的Heap(堆)的作用
  • <背包问题>
  • Java多线程:(2)通过实现Runnable接口创建线程
  • shell脚本--MySQL简单调用
  • 求阶乘--二分答案+0结尾与5有关
  • 日报日报流量分析
  • langchain框架,ollama调用deepseek r1 实现RAG问答
  • 软件架构设计中的软件过程模型初识
  • Postman 7.3.5 旧版下载指南(Win64)及注意事项
  • x82y 阿里滑块 阿里全系列
  • OpenAI API - Concept 核心概念说明