前面我们所讲的所有指令,代码执行顺序都是一条接着一条顺序的执行。但是实际上在编码过程中,会有某些结构,比如条件语句(if-else),循环语句(for,do-while)和分支语句(switch)等等,都要求有条件的执行,根据数据测试的结果来决定操作执行的顺序。 在机器代码中,提供两种 ...
引言 最近LZ有些略忙,因此这一章拖的时间有点久,不知道有没有猿友在跟着看呢,LZ觉得应该几乎没有吧。毕竟这实在是一本乍一看十分枯燥的书,不过随着慢慢的深入,不知道有没有猿友慢慢找到了一点感觉呢。 本章我们来看一个特别有趣的内容,就是汇编级别的语言,如何利用寄存器实现if for while这些高级语言的流程控制,LZ只能说这实在是十分神奇。在没有接触这部分内容的时候,LZ打死也没有想到,原来平时 ...
2013-11-09 00:42 2 3619 推荐指数:
前面我们所讲的所有指令,代码执行顺序都是一条接着一条顺序的执行。但是实际上在编码过程中,会有某些结构,比如条件语句(if-else),循环语句(for,do-while)和分支语句(switch)等等,都要求有条件的执行,根据数据测试的结果来决定操作执行的顺序。 在机器代码中,提供两种 ...
引言 上一章LZ和各位一起讨论了汇编当中对于流程控制的实现,其中12种条件码寄存器的组合比较困难,估计各位猿友已经饱受摧残了。深入理解计算机系统这本书确实比较难啃,说真的,LZ看这本书的时候偶尔也会比较蛋疼,不过LZ还是觉得要有始有终。我们饱受摧残之后,一定是有巨大收获的,请各位坚信 ...
引言 最近这个系列被并发拖后了,这实非LZ所愿,本来LZ就是打算将这本书作为一切高级课题的基础的,因此这本书应该走在并发这一类的前面。不过由于工作上刚好碰到了和高并发相关的任务,因此趁着工作所需,趁热打铁也是个不错的做法。 上一次LZ给各位分析了过程的实现,其中精妙的栈帧占据 ...
。因为无论是减法还是乘法,都可以由加法运算来替代,唯有除法不能由加法替代。 了解计算机运算的规律,可以 ...
AT&T汇编指令学习(GCC) 寄存器命名原则: 相比inter语法,AT&T语法格式要求所有的寄存器都必须加上取值符"%". 操作码命令格式: 源/目的操作数顺序: Intel语法格式中命令表示格式为:"opcode dest, src ...
引言 本系列拖了蛮久了,主要是因为LZ写的时候其实刚看到第二章,因此这一段时间快速看了下第三章,并花了点时间沉淀了一下,这才耽误了下来。 本文是3.X系列的第一篇,也是汇编世界的开篇。LZ一直在想如何能让这一系列稍微变得有趣一些,因为第二章实在是太枯燥了,连LZ都觉得无聊至极 ...
深入理解计算机系统 卡内基·梅隆一门棵。 原书第3版资料. 第三版源码. 原书第2版资料. 计算机系统漫游 源文件到目标文件的翻译过程可分为四个阶段, 这四个阶段的程序被称为预处理器,编译器,汇编器和链接器,它们一起构成了编译系统(compilation ...
像在不间断地一条接一条地执行程序中的指令,即该程序的代码和数据是系统内存中唯一的对象。这些假象是通过进程的概念 ...