王爽那本汇编的书看到了第十一章,也该总结总结了,最近老是一股脑的往自己的脑袋里塞东西,都有点怕自己塞不下了。
第十章和第十一章我看了很久,中间也发生了很多事情,一言难尽……第十章讲CALL和RET指令,这两个指令的组合可以实现子程序的调用,对与学过C语言的我来说,很好理解,CALL可以理解成就是程序的入口地址,也可以说是调用函数名,而RET则是子程序的返回,即return,刚刚看这一章的时候被这两个简单的指令搞蒙了,现在看来,不过如此。
CALL指令将当前指令的地址入栈,然后将指令指针修IP修改成CALL后面标号的地址,这样就能实现指令的跳跃执行;同样的,RET指令是将当前栈中的SP指向的存储单元出栈,并且赋值给IP,这样,指令能返回到CALL指令的后面指令处接着执行。
这两个指令看起来很简单,但是要配合着其他指令一起使用,真的能实现很多很多有趣实用的功能,汇编语言和C语言一样,很灵活,我也很喜欢,呵呵。
第十一章主要讲的标志寄存器,这个标志寄存器看起来好像很多很多似的,有什么ZF,CF,PF,SF等9个标志,但是实际上就是一个寄存器而已,叫做FLAGS,不过一般使用的时候,就以它自己的标志位来体现具体的用处。通过标志寄存器可以实现一般寄存器不能够实现的功能,比如说很超出16位数的加减乘除计算,很给力。
这两章就这么点内容而已,或许自己就掌握了基本的使用方法吧,还得继续努力,郑硕,你要加油!