![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
文章平均质量分 67
阿维的博客日记
这个作者很懒,什么都没留下…
展开
-
基本汇编指令
eax寄存器eax,32位寄存器,ax代表十六位,al代表低八位,ah代表高八位,并且函数返回值一般使用eax存放,al的l是low低八位,ah的h是high高八位如图eip寄存器eip存放将要执行的指令的地址leave指令leave指令等价于movl %ebp , %esppopl %ebp起到退栈作用!!ret指令把返回地址放到eip寄存器中call指令保存下一条指令的地址,并转向被调用函数...原创 2021-01-06 20:23:17 · 7481 阅读 · 0 评论 -
汇编语言的标志位
假设有2个数x,y目录一,OF二,CF三,SF四,ZF一,OFOF:算OF不管是有无符号数,如果正数加正数得到负数或者负数加负数得到正数,则OF=1其余OF=0二,CF如果做加法,Ci-1=0,如果做减法,Ci-1=1,比如有2个数,x和y都是8位的二进制数,第九位就是Ci如果x加y没有进位,则Ci=0,进位了就是Ci=1,CF = Ci ⊕ Ci-1 (⊕是异或的意思)三,SFx和y运算后符号位是1,则SF=1符号位是0,SF=0四,ZFx和y运算后结果是0,ZF=1结果不原创 2021-01-15 11:37:44 · 1486 阅读 · 0 评论 -
C语言语句的汇编级表示if,if-else,for
ifint main(){ int a=1,b,c;//为了简单起见,不包含任何文件!! if(a<666){ b=a; }}//注:codeblocks不知道为啥,比较666到了汇编里面就是比较665,比较2又变成了比较1, //总是小1把12(%esp)的指向的a和665比较,如果跳转了就是说跳到if{}后面去,如果没跳转就是直接执行{}里面的语句所以跳转条件总是和if的条件相反!!if-else解释:多了一个else其实就是不符合i原创 2021-01-10 13:13:54 · 973 阅读 · 0 评论 -
转载:汇编语言指令英文意思
目录一.通用数据传送指令二、算术运算指令三、逻辑运算指令四、串指令五、程序转移指令六、伪指令五、程序转移指令六、伪指令一.通用数据传送指令MOV----> moveMOV dest,src ;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。MOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->pushPOP----&转载 2021-01-08 16:52:52 · 975 阅读 · 0 评论