我一直希望更好地了解硬件级别的情况.作为一个实际的水平,编译后的任何东西都等于'魔术',我想补救它.
我想研究构建电路,然后在基本芯片组上进行汇编编程,这既是为了我自己,也是为了我的儿子,我们可以一起学习.
我看过一些"快速电路"套件,但说实话,他们对我不感兴趣.
建议?
编辑注:感谢所有回复的人.
Lisp具有homoiconic的属性,也就是说,语言实现(列表)使用的代码的表示也可用于希望代表其自身目的的代码的程序,并由其惯用.
函数式编程语言ML的另一个主要系列是基于类型理论,这意味着语言实现需要更复杂的代码表示,并且对于允许执行的操作也不那么随意,因此通常内部表示是不适用于程序.例如,用于高阶逻辑的证明检查器通常以ML族语言实现,但通常实现它们自己的类型理论系统,实际上忽略了ML编译器已经存在的事实.
这有什么例外吗?任何基于类型理论的编程语言,它们将代码表示暴露给程序化使用?
types programming-languages functional-programming homoiconicity
我正在自学Linux汇编语言,我遇到了BSD和Linux之间的一个有趣的区别.在Unix中,在调用80h中断之前将syscall参数压入堆栈; 相反,在Linux中,您将参数传递给寄存器.
有谁知道Linux开发人员使用寄存器而不是堆栈的理由是什么?
注意:这是一个很好的页面,详细说明了这种差异:FreeBSD Developer's Handbook:System Calls,但没有解释其基本原理.