一、比较指令 cmp

  1. cmp 值一 值二 
  2. 1.但是不能直接比较两个变量,可以赋值到寄存器 
  3. 2.比较必须同时为有符号或则无符号 
  4. 3.字节数必须相同 
  5. 4.可以cmpsb,cmbsw比较其他的字节长度 
  6. 无符号; 
  7. ------------------------------------------------------------ 
  8. 格式                   功能                 测试条件 
  9. jg/jnle label           >                  zf=0 and sf=0f 
  10. jng/jle label          ≤                   zf=1 or  sf不等0f 
  11. jl/jnge label          <                   sf不等0f 
  12. jnl/jge label          ≥                   sf=0f 
  13. ---------------------------------------------------------------  
  14. 有符号; 
  15. ------------------------------------------------------------- 
  16. 格式                   功能                 测试条件 
  17. ja/jnbe label           >                  cf=0 and zf=0 
  18. jna/jbe label          ≤                   cf=1 or  zf=1 
  19. jb/jnae/jc label        <                  cf=1 
  20. jnb/jae/jnc label       ≥                   cf=0 
  21. ------------------------------------------------------------ 

二、循环 loop

  1. loop label 
  2. 循环次数根据cx而定的 
  3. 处理寄存器的值有可能循环体内改变而出问题 

三、直接跳转 jmp

  1. jmp label 
  2. 直接跳转修改ip值 
  3. jmp far ptr  
  4. 修改cs和ip值 段间的跳转 
  5. jmp world 地址 
  6. 修改ip 地址里面的数值 
  7. jmp dworld 地址 
  8. 修改cs跟ip 

四、call跟ret转移指令

  1. call ptr 
  2. call far ptr 
  3. call world 地址 
  4. call dworld 地址