汇编语言学习笔记11

汇编语言学习笔记11

ID:14795175

大小:21.00 KB

页数:3页

时间:2018-07-30

汇编语言学习笔记11_第1页
汇编语言学习笔记11_第2页
汇编语言学习笔记11_第3页
资源描述:

《汇编语言学习笔记11》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、标志寄存器先来总结一下以前的寄存器的作用:1存储相关指令的执行结果2为cpu执行相关指令提供的行为依据3控制cpu的相关工作方式。本课学习的标志寄存器也是16位的,其中存储的信息通常被称为程序状态字(psw)标志寄存器的16位有9位分别表示了不同的状态如下0cf12pf34af56zf7sf8tf9if10df11of12131415没有表示空白,不具备任何含义,下面了解一下非空白区的各个含义zf零标志位。记录相关指令执行后其结果是否为零,若是结果为零那么zf=1,否则zf=0;pf标志位奇偶标志位,记录相关指令执行后,其结果的所有二进制位中1的个数是否为偶数,若是偶

2、数那么pf=1,不是偶数那么pf=0;sf标志位符号标志位,记录相关指令执行后,其结果是否为负,如果结果为负,那么sf=1,不为负,sf=0cf标志位进位标志位。一般在无符号运算的情况下,它记录了运算结果的最高有效为向更高位的进位值,或者从更高位的借位值,cf标志位就是标志了是否进行了借位或进位运算,但一定记得是最高有效位。of标志位溢出标志位,我们这里说的溢出仅适用于有符号数,例如对于8位寄存器能表示的数值范围是-128-127,若是超出了这个范围那么就是溢出了。若是有溢出,则of=1,否则of=0;adc指令--带进位加法指令,他利用了cf为上记录的进位值。指令格

3、式adc操作数一,操作数二功能操作对象1=操作数1+操作数2+cf值例如movax,2movbx,1subbx,axadcax,1那么ax最终存储的结果是4由于进行减法运算的时候进行了借位,那么再次进行带进位的加法的时候就要考虑cf的值了。其实cpu进行数值运算的时候,跟我们进行的运算方法是一样的,例如我们进行加法运算的时候,我们先将低位进行相加,在进行高位相加,高位想家的时候我们会把低位运算产生的进位或借位应用到高位上去,例如指令addax,bx;可以分解为addal,bladcah,bh那么虽然寄存器是16位的,我们也可以进行更高位的运算,例如下面的程序举例:计算

4、1EF000H+201000H,结果存放到ax(高16位)和bx(低16位)中,分析:显然这两个数都超过了寄存器的数值表示范围,用add指令无法进行运算,我们可以将他们分步运算。程序如下:assumecs:code,ss:stackstacksegmentdb16dup(?)stackendscodesegmentstart:movax,stackmovss,axmovsp,16pushaxpushcxpushbxmovax,001ehmovbx,0f00hmovcx,1000haddcx,1ee0hadcbx,1000hadcax,0020hpopbxpopcxpo

5、paxcodeendsendstart当然我们在程序中本不用去进行进栈出战的操作但是为了保留程序中所用寄存器的原来信息我们就必须进行数据的保存,另外需要说明的是,incloop指令不会影响标志位的数值,其他的指令就难说了,同理我们也会用到带进位的减法指令,add不作详细说明,我们需要掌握的一个比较重要的指令就是cmp指令比较指令cmp操作数一,操作数二功能操作数1-操作数2,仅仅进行减法比较并不对运算结结果进行保留,用运算结果来影响标志位。例如cmpax,bx如果ax=bx那么zf=0如果ax

6、一个标志位,我们进行cmp指令的比较得到了相应的标志位数值,cpu就会有相应的指令来去进行下一步的运算处理。下面是根据无符号数的比较结果进行转移的条件转移指令je等于则转移zf=1jne不等于则转移zf=0jb低于则转移cf=1jnb不低于则转移cf=0ja高于等于则转移zf=0且cf=1jna不高于则转移cf=1或zf=1其实j代表了jmpe=equala=aboveb=blew都是相应的英文单词的解释,相应的应用格式条件转移指令标号(要想转移到的标号地址)举例如下编程实现如下功能如果ah=bh那么ah=ah+ah否则ah=ah+bh程序小段cmpah,bhjesa

7、ddah,bhmovax,4c00hint21hends:addah,ahmovax,4c00hint21hend这样我们就实现了转移,当然这种比较也可以应用到内存单元上,例如cmpbyteptr【0】,2或者cmpbyteptr【0】,ah这样都是可以的、额今天的任务55有完成了。哥们仙剑了个网站希望去注册谢谢咯,http://sela365.com/space.php?do=home

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。