摘要: 1. 表达式 A_exp -> T_exp , T_stm struct Tr_exp_{ // Tr_ex 表达式, Tr_nx 无结果语句, Tr_cx 每件语句 enum {Tr_ex, Tr_nx, Tr_cx}kind; union {T_exp exp, T_stm nx, struct 阅读全文
posted @ 2024-04-30 15:41 Leon大帝 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 知识点 T_exp: 有返回值 表达式 T_stm: 无返回值 表达式 struct Cx: 条件表达式 Tr_exp: translate 模块的表达式,增加中间代码逻辑, 分 Tr_ex, Tr_nx, Tr_cx 三种类型, 对接机器 T_exp: tree 模块的表达式,中间代码解析的 表达 阅读全文
posted @ 2024-04-30 15:36 Leon大帝 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 源程序 伪指令 :编译器处理 汇编指令 :编译为机器码 源程序 :程序文件所有内容 程序 :源程序中最终由计算机执行处理的指令或数据,存储在可执行文件(.exe)中 # 伪指令 段寄存器(这里是cs,代码码寄存器) <--关联--> 某 segment ... ends assume: cs:cod 阅读全文
posted @ 2024-04-10 19:56 Leon大帝 阅读(2) 评论(0) 推荐(0) 编辑
摘要: **前端 ** 中间 后端 词法分析 活动记录 优化 语法分析 中间代码 IR 机器语言 语义分析(类型检查) 知识点 T_exp: 有返回值 表达式 T_stm: 无返回值 表达式 struct Cx: 条件表达式 Tr_exp: translate 模块的表达式,增加中间代码逻辑, 分 Tr_e 阅读全文
posted @ 2024-04-09 09:55 Leon大帝 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 注意,sp 栈顶之前的数据不是栈数据,有可能会变来变去 。 mov ax,2000H # 初始化 ax mov ss,ax # ss 栈更新为 2000 # 更新 sp为 4 mov sp,0 add sp,4 pop ax # ss:sp 2000:4 中的数据 0e 2a 出栈 并用 ax 接收 阅读全文
posted @ 2024-04-09 09:50 Leon大帝 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 栈基本结构 SS:SP 永远是栈顶! 栈是一种具有特殊访问方式的一段存储空间。 栈的本质是存储,就是一段内存。特性是只能通过 push, pop 指令 访问 段寄存器 SS : 栈顶的段地址 寄存器 SP : 栈顶的偏移地址 当前的栈顶: SS - SP push ax 将 ax 中的数据送入栈中 阅读全文
posted @ 2024-04-09 09:46 Leon大帝 阅读(2) 评论(0) 推荐(0) 编辑
摘要: (1)在Debug中,用“d 0:0 1f”查看内存,结果如下。 0000:0000 70 80 f0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 下 阅读全文
posted @ 2024-04-01 11:10 Leon大帝 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 静态链 静态链: 调用函数 f() 时,传递给 f() 一个指针,指向静态包含 f() 的那个函数 g(){ ... // 调用 f() 时,传递 g() 的指针 f() { ... } } 静态包含: 在编译器的上下文中,"静态包含"(Static Inclusion)通常指的是在编译时直接将一个 阅读全文
posted @ 2024-03-15 19:43 Leon大帝 阅读(3) 评论(0) 推荐(0) 编辑
摘要: tips 栈 栈指针 帧 帧指针 Frame 模块: 栈帧相关信息 F_frame : 栈帧 F_access : 表示 寄存器 / 栈帧 的地址偏移, 即位置 Symbol Temp_label : 标识符 F_newFrame(label, boolList) : 生成 符号 label 对应的 阅读全文
posted @ 2024-03-15 19:39 Leon大帝 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 检测点 3.1 (1)在Debug中,用“d 0:0 1f”查看内存,结果如下。 0000:0000 70 80 f0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 阅读全文
posted @ 2024-03-08 16:49 Leon大帝 阅读(9) 评论(0) 推荐(0) 编辑