知识总结6:指令总结(三)

 1 adc指令:带进位加法指令
 2      指令格式:adc 操作对象1,操作对象2
 3      功能:操作对象1 = 操作对象1 + 操作对象2 + CF
 4      例如:adx ax,bx实现的功能是:(ax) = (ax) + (bx) + CF
 5 
 6 sbb指令:带借位减法指令
 7      指令格式:sbb 操作对象1,操作对象2
 8      功能:操作对象1 = 操作对象1 - 操作对象2 - CF
 9      例如:sbb ax,bx实现的功能是:(ax) = (ax) - (bx) - CF
10 
11 cmp指令:比较指令,功能类似减法指令,不过不保存结果,临时结果存在CPU暂存器处
12      指令格式:cmp 操作对象1,操作对象2
13      功能:计算操作对象1-操作对象2的结果,但不保存结果,影响标志寄存器flag
14      例如:cmp ax,ax实现的功能就是:ZF=1 PF=1 SF=0 CF=0 OF=0
15 
16 条件转移指令:经常跟在cmp后,进行转移,也可以跟在其他指令后,本质是对寄存器的相关检测来进行转移
17      常见条件转移指令如下:
18      指令            含义            相关标志位
19      je             等于则转移       ZF=1       
20      jne            不等于则转移    ZF=0
21      jb             低于则转移       CF=1
22      jnb            不低于则转移     CF=0
23      ja             高于则转移       CF=0且ZF=0
24      jna            不高于则转移     CF=1或ZF=1
25 
26 movsb指令:串传送指令,通常与rep搭配使用,形如rep movsb
27      指令格式:rep movsb 等价于 s:movsb 
28                               loop s  
29      功能:将ds:[si]处字节单元转送给es:[di]处,然后根据DF标志位(为0则加1,为1则减1)si与di同时变化
30      例如:mov byte ptr es:[di],ds:[si] //当然8086并不支持这样写
31               若DF=0
32               inc si
33               inc di
34 35               dec si
36               dec di
37 
38 movsw指令:同movsb,唯一不同的是movsw传送的是字单元
39 
40 cld指令:用来将标志位DF置为0
41 
42 std指令:用来将标志位DF置为1

 

posted on 2018-02-03 11:12  叶倾仙  阅读(207)  评论(0编辑  收藏  举报

导航