pushf 和 popf pushf 的功能是将标志寄存器的值压栈,而 popf 是从栈中弹出数据,输入标志寄存器. pushf 和 popf,为直接访问寄存器提供了方法. 格式 pushf popf 这两条指令后面都不加东西,默认的操作对象是:所有的标志寄存器. 标志寄存器在 Debug 中的表示 在寄存器中,标志寄存器是按有意义的各个标志位单独表示的.在 Debug 中,我们可以看到: 标志 值为1的标记 值为0的标记 of OV NV sf NG PL zf ZR NZ pf PE PO…
# cmp指令 本质 cmp是比较指令,cmp的功能相当于减法. 格式 cmp 操作对象1,操作对象2 功能 计算操作对象1-操作对象2,但并不保存结果,可以根据flag标志寄存器来判断结果. 正向判断 如果(ax) = (bx) 则(ax)-(bx) = 0,所以:zf=1. 如果(ax) != (bx) 则(ax)-(bx) != 0,所以:zf=0. 如果(ax) < (bx) 则(ax)-(bx)将产生借位,所以:cf=1. 如果(ax) >=(bx) 则(ax)-(bx)不产生借位,…
2.3-1: 3 9 26 38 41 49 52 59 3 26 41 52   9 38 49 57 3 41   52 26   38 57   9 49 3   41  52  26  38  57  9  49 2.3-2:(归并排序) void mergeSort(int a[], int l, int r) { int m; if(l < r) { m = (l + r) / ; mergeSort(a, l, m); mergeSort(a, m+, r); merge(a, l…
比如: mov ax,x mov bx,y cmp ax,bx cmp ax,bx的逻辑含义是比较ax,bx中的值.如果执行后: ZF=1则AX=BX ZF=0则AX!=BX CF=1则AX<BX CF=0则AX>=BX CF=0并ZF=0则AX>BX CF=1或ZF=1则AX<=BX CPU在执行cmp指令的时候,也包含两种含义:进行无符号运算和进行有符号数运算.cmp ah,bh如果ah=bh则ah-bh=0所以ZF=1如果ah≠bh则ah-bh≠0所以ZF=0所以我们根据cm…
pushf的功能是将标志寄存器的值压栈,而popf是从栈中弹出数据,送入标志寄存器中.…
一.前言 最近在学习汇编语言,使用的是读者评价非常高的王爽老师写的<汇编语言>(第三版),为了适应现在各个版本的windows操作系统,所以采用VMWare虚拟机来搭建纯DOS环境. 二.需要的工具 VMware-workstation-12.DOS系统镜像文件.汇编编译器masm和连接器link 百度云下载链接:https://pan.baidu.com/s/1gfz4N67 密码:02y1 三.安装VMware-workstation-12 傻瓜式安装,一直点击下一步就可以(虽然网上也可以…
最近开始仔细研读<CLR.via.C#第三版>这本书.读pdf文档确实很累.建议有条件的朋友还是买书看吧. 我的笔记用来记录我对这本书的理解,简化下逻辑,对每个部分我觉得是要点的进行归纳总结.特别基础的东西不会做过多的阐述. 第一部分讲的是CLR基础. 首先还是重新说下CLR的概念:“CLR 是一个可由多种编程语言使用的“运行时”.可用任何编程语言来开发代码,只要编译器是面向CLR的就可以了”.这里要重新解释下“只要编译器是面向CLR的就可以了”这句话.初学者一般不认同.net平台跨语言,或者…
(2)标志位操作指令 标志位操作指令是一组对标志位置位.复位.保存和恢复等操作的指令. 1.进位CF操作指令 Ø 清进位指令CLC(Clear Carry Flag):CF←0 Ø 置进位指令STC(Set Carry Flag):CF←1 Ø 进位取反指令CMC(Complement Carry Flag):CF←not CF 2.方向位DF操作指令 Ø 清方向位指令CLD(Clear Direction Flag):DF←0 Ø 置方向位指令STD(Set Direction Flag):D…
1.0.0 Summary Tittle:[Assembly]NO.70.EBook.7.Assembly.1.001-[汇编语言 第3版 张爽]- 基础知识 Style:Assembly Series:Assembly Since:2017-11-15 End:.... Total Hours:... Degree Of Diffculty:2 Degree Of Mastery:2 Practical Level:2 Desired Goal:2 Archieve Goal:.... Ger…
UNIX环境高级编程(第三版)中的例子用到apue.h这个头文件,但是书里面写的地址已经不能访问. 经过一番查找之后,找到如下解决方案: 1.到www.apuebook.com上下载第2版的源码,也可以直接点这里. 2.下载后的源码,需要修改一下: 1.Make.defines.linux中第6行WKDIR=/home/sar/apue.2e更改为目录的绝对路径. 2.apue.2e/ipp/ipp.h中第122行中的status换为Status.(也可换为其他,但要与下面对应) 3.apue.…