汇编系列其实也在一直更新,只不过更新的频率会挺慢的。。。由于白天一直忙于工作,空闲时间还要看书、学习各种技术栈,早上也要抽时间早期健身,晚上回家还要陪家人 + 学习,时间安排的满满当当,所以我就慢慢写,各位读者也别太着急,我其实真想再分一个自己出来。之前的文章中介绍过 [0] 表示的是内存单元,它一般存储在 ds 寄存器中,偏移地址为 0 。比如下面的指令m …
汇编指令大全
div指令div提供除法能力,除法中有除数和被被除数,例如:AB,A是除数,B是被除数。在汇编指令中被除数默认保存在AX或者DX,除数可以保存在寄存器或者内存中8位除数,被除数AX,商AL,余数AH16位除数,被除数AX或者DX,商AX,余数DX除数中需要注意的就是几位数的除法,它们运算后保留的位置不一样,除法不做练习了,后面在实际场景中练dup功能dup主 …
今天,我们来通过反汇编看一下函数调用的过程(顺便学习下汇编),如下图,为一个函数调用的例子。主函数里面调用了test()函数。在X86环境下,进入调试模式,反汇编代码。然后我们从主函数看起,前面一些汇编代码都是编译器在调试模式下自动生成的调试信息代码,我们主要看画红线的两句代码。哦,首先要看一下此时的栈空间状况,此时的栈空间由EBP和ESP两个寄存器来决定, …
整理:程序员的那些事(id:iProgrammer)雷军的代码像诗一样优雅↓↓↓有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧。说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的代码。在 2011 年的时候,我们在微博转过雷军在 1994 年写的一段完整的汇编代码。雷军这段汇编代码,有程序员评价「如今能写出这么高质量的代码的程序员恐怕也不多」。后 …
一、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI, …