编译原理
yazhouren
这个作者很懒,什么都没留下…
展开
-
cucu: a compiler u can understand (part 2)
原文地址:http://blog.csdn.net/roger__wong/article/details/8502477原文地址:http://zserge.com/blog/cucu-part2.html到目前为止,我们已经定义了我们语言的语法并编写了一个词法分析器。在本篇文章中,我们将为我们的语言写解析器。但在开始之前,我们先需要一些辅助函数:int peek(c转载 2013-08-05 07:16:51 · 756 阅读 · 0 评论 -
cucu: a compiler you can understand (part 1)
原文地址:http://blog.csdn.net/roger__wong/article/details/8498591译者序:最近在学习一些编译器的基本知识,就找到了这篇英文的博客,在csdn搜了一下貌似没有人翻译,所以我干脆翻译了算了,反正都是学习。原文地址:http://zserge.com/blog/cucu-part1.htmlcucu: 一个易转载 2013-08-05 07:16:12 · 1007 阅读 · 0 评论 -
cucu: a compiler u can understand (part 3)
原文地址:http://blog.csdn.net/roger__wong/article/details/8526101现在让我们谈谈编译器的后端架构。C语言应该是一个可以移植的语言,但是在移植的过程中,我们并没有必要为新的CPU架构去重新编写整个C的编译器。编译器后端用来产生低级别字节码,而编译器前端会调用编译器后端的函数。一个好的后端设计会使得编译器具有良好的移植性。我希望C转载 2013-08-05 07:17:39 · 802 阅读 · 0 评论 -
heap和stack的区别
在指令集层,只有stack指针,没有heap的概念!stack就是保存一些局部变量,需要不停的push/pop,而heap就是一直存在的在内存上存的数据,不像stack一样,有时候变得无效!2017.7.5原创 2017-07-05 15:35:21 · 556 阅读 · 0 评论 -
assemble language学习(-)
不容易,终于将第一个简单的arm assemble Language程序跑通了1. 创建project, 选择stm32407ve2. 添加汇编启动文件start.s STACK_TOP EQU 0x20002000 AREA RESET,CODE,READWRITE DCD STACK_TOP DCD START ENTRY START MO原创 2017-07-15 13:55:33 · 1064 阅读 · 0 评论 -
立即数最大有多少位?
假设cpu执行一个指令: add #xx yy常数xx最大有多大?如果超过32bit, 那么add xx yy这个指令不就超过32bit了吗? 这样是不对的吧? 当初自己设计cpu时,没有想到这个问题看上面这个指令,imm立即数是有限制的!什么操作编译器会将代码编译为立即数操作,什么代码编译为ram寻址,什么代码编译为reg寻址?又或者不同的指令需要不同的寻址方式,使用到某原创 2017-06-22 17:56:05 · 3581 阅读 · 0 评论 -
汇编中有符号与无符号数的区分
origin: http://blog.chinaunix.net/uid-28458801-id-3576608.html转载自:http://hi.baidu.com/asmsky/blog/item/7290d20076cab6da277fb5b8.html一、只有一个标准!在汇编语言层面,声明变量的时候,没有 signed 和 unsignde 之分,汇编器统统转载 2017-07-30 16:03:46 · 2091 阅读 · 0 评论