http://www.cnbeta.com/articles/114849.htm

想到以后做海报也许会用到,mark。
在TopLanguage里断断续续待了一年多,对里面的谈话终于不再是一知半解,
许多题也许自己也有很好的思路,人总是还会有进步的吧。
本来提手写篇博文,准备聊一聊在俱乐部的事情,说一说自己的事情,听一听歌,想一想代码。
不过现在有点疲倦,而且这状态写正紧的事情不太妥当,于是还是扯一扯小故事吧。
1. GCC按照自己的格式形成汇编代码并解释(GAS:Gnu Assembler),这一点与我们常学的MASM编译有差异:
A. movl 12(%ebp), %eax 表示 %ebp偏移12位置值送%eax ,事实上GCC汇编目的地址在右边。
B. 目标文件(如: code.o) 是对独立文件编译汇编的结果。
C. 产生目标文件后通过链接使程序整合成完整的机器级代码,也就是可执行文件。
D. 简单的打个比方“01 05 64 94 04 08” 表示“add %eax, 0x8049464” 你会发现地址是反着放的。
2. 不用争字究竟多长了,其实Intel开始从16位体系扩展成32位体系时,一直把“字(word)” 表示16位。
对于多数32位机器“经典”的分配方式,“short int”整数分配2字节,“int” 分配4字节, “long int” 分配全字长。
然而这样分配是GCC的约定,至于GAS:
A. GAS 中的 movb, movw, movl, 分别移动字节,字,双字。
B. GAS中的 %eax, 表示 寄存器AX的Extend(?),也就是32位的AX。
C. Imm(Eb, Ei, S) 是一种寻址模式,调用立即数Imm, 基址寄存器Eb,
变址或索引寄存器Ei 和 伸缩因子(scale factor Ps:必须是1.2.4.8之一)
操作数值 M[Imm + R[Eb] + R[Ei]*s],
R[Ei]表示对寄存器取值, Mb[Addr]表示对内存取b长度值(这里省略b)
D. GAS同样规定不能两个操作数同时访问内存。
E. 指针保存的地址信息使得程序像低级代码一样灵活。
F. 大部分人都会头大一下 Leal 7(%edx, %edx, 4), %eax 这样的指令,其实他只是将5*%edx+7 –》 %eax,
很简单的理由是你实在没办法对%edx加载有效地址。
G. 有关GAS的特殊指令(如64位乘,除法等),有兴趣参考相关资料,这里就不特别说了。
下次开始阅读程序流控制汇编码。
原文出处:新东方
1. aboard adv. prep. 在船(车/飞机)上, 上船(车/飞机)
board n. 木板, 董事会 (包饭的)伙食 vt.上(船,车等)
abroad adv. 国外, 海外
broad adj. 宽的,广阔的,广泛的
2. abstract adj. 抽象的 n. 摘要,梗概
subtract vt. 减去(from)
attract vt. 吸引:be attracted to 迷恋,喜欢
3. accent n. 口音,重音
access n. 接近(或进入)的,机会,通道,入口
excess n. 超过,过量 adj.过量的,额外的
assess vt. 对…进行估价,评价
asset n. 财产,资产
exception n. 例外
by Elizabeth Barrett Browning.
How do I love thee? Let me count the ways.
I love thee to the depth and breadth and height
My soul can reach, when feeling out of sight
For the ends of Being and ideal Grace.
I love thee to the level of every day’s
Most quiet need, by sun and candlelight.
I love thee freely, as men strive for Right;
I love thee purely, as they turn from Praise.
I love with a passion put to use
In my old griefs, and with my childhood’s faith.
I love thee with a love I seemed to lose
With my lost saints, I love thee with the breath,
Smiles, tears, of all my life! and, if God choose,
I shall but love thee better after death.