04 2024 档案

摘要: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大帝 阅读(19) 评论(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大帝 阅读(7) 评论(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大帝 阅读(4) 评论(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:45 Leon大帝 阅读(7) 评论(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大帝 阅读(10) 评论(0) 推荐(0) 编辑