jcxz =  j:jmp  cx:cx寄存器  z:zero(当cx寄存器中的值为0时,进行跳转)

jcxz指令与loop指令正好相反.

loop指令:当cx寄存器的值不等于0时,才进行跳转.

所有的条件转移指令都是短转移,位移范围是(-128~127), 经过编译后,机器码中包含了位移的范围。 EBXX, XX就是转移的字节长度, 这个XX是在编译器编译时候计算的。计算公式是: 标号处的编译地址 - jmp指令后第一个字节的地址。

assume cs:codecode segmentstart:  mov ax, 2000Hmov ds,axmov bx,0s:   mov ch,0mov cl, ds:[bx]jcxz ok ; cx寄存器的值为0, 才会跳转inc bxjmp short sok:    mov ax, bxmov ax, 4C00Hint 21H code ends
end start
assume cs:codecode segmentstart:  mov ax, 2000Hmov ds, axmov bx,0;   利用loop指令,实现在内存 2000H段中查找第一个值; 为0的字节,找到后,将它的偏移地址存储在dx中   s:  mov cl, ds:[bx]mov ch, 0inc cxinc bxloop sdec bx ; 将bx中的值-1mov dx, bxmov ax,4C00Hint 21Hcode ends
end start

汇编:JCXZ条件转移指令相关推荐

  1. 170420 汇编-其他条件转移指令

    1625-5 王子昂 总结<2017年4月20日> [连续第201天总结] A. 汇编 第十一章 90% B. 检测比较结果的条件转移指令: 转移指的是它能够修改IP:条件指的是它可以根据 ...

  2. 【8086汇编】条件转移指令应用 jxxx

    1.定义 2.应用示例

  3. 汇编-简单的条件转移指令应用-附例子:判断坐标所在象限

    在汇编分支程序设计中,条件转移指令扮演着很重要的角色 首先让我们认识一下简单的条件转移指令: 这些指令都是通过flag寄存器中的标志位进行判断的 一般情况下使用CMP指令来影响标志位结合这些指令执行 ...

  4. 标志寄存器PSW和汇编条件转移指令解释

    标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW)    标志寄存器PSW是一个16为的寄存器.它反映了CPU运算的状态特征并且存放某些控制标志.8086使用了16位中的9位,包括6个状态标 ...

  5. 汇编中的条件转移指令

    条件转移指令可以根据某种条件,决定是否修改偏移地址.下面通过一段代码学习一下. 上面程序的功能是:统计data段中数值为8的字节的个数,用ax保存结果.data段定义了8个数,每个数占一个字节. cm ...

  6. 贺利坚老师汇编课程57笔记:CMP和JXXX配合实现条件转移指令if

    指路老师的博客 实现分支程序设计 套路 CMP OPER1,OPER2;或者其他影响标志寄存器的指令 JXXX 标号 恐惧 JXXX系列指令和CMP指令配合,构造条件转移指令 不必考虑CMP指令对相关 ...

  7. 【8086汇编】cmp指令和条件转移指令jxxx

    1.定义 2.无符号比较影响标志位 3.有符号比较影响标志位 4.各种条件转移指令 5.cmp配合条件转移的使用

  8. 汇编语言随笔(3)-条件转移指令和标志寄存器

    标志寄存器 标志寄存器通常具有以下三种作用:       1,用来存储相关指令的某些执行效果       2,用来为CPU执行相关指令提供行为依据       3,用来控制CPU的相关工作方式     ...

  9. 【汇编语言与计算机系统结构笔记07】条件码,比较、测试、条件跳转与条件转移指令,结合微体系结构与流水的说明

    本次笔记内容: 08.控制流-1 文章目录 条件码 基于add的CF, ZF, SF, OF 比较(Compare)指令 测试(Test)指令 读取条件码(SetX)指令 例子 拓展:流水设计与微体系 ...

最新文章

  1. 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)...
  2. KDD2020接受论文列表已公开!338篇优秀论文汇总!
  3. 关于Eclipse插件开发(一)
  4. MVVM Light学习笔记(三):Messenger
  5. 关于微信公众号小程序在运营过程中的注意事项
  6. 华科高级软件测试技术1704班-02组 如何计算团队成员贡献分
  7. 封装成vla函数_第四章:Python之函数
  8. Microsoft Research和Windows Azure合作伙伴对数据发现和共享的影响
  9. 整合nagios+cacti遇到问题及解决办法
  10. 搬: 含有对象成员指针的类的对象成员指针初始化问题
  11. Linux指令部分(一)
  12. shiro 集成swagger,anon不生效问题
  13. 为什么HDMI连接显示器无信号?
  14. Vue项目实战 —— 后台管理系统( pc端 )
  15. 英语口语学习推荐的21部电影
  16. pygame-KidsCanCode系列jumpy-part1-如何组织复杂游戏的代码
  17. 塔式服务器系统配置,联想TD350塔式服务器系统安装配置注意事项
  18. Java 8最强教程
  19. ICC II 4 timing setup(MCMM的设置)
  20. PADS(二)更多使用和实战总结

热门文章

  1. 为什么你应该停止阅读新闻?
  2. MATLAB实现最优低通滤波器的函数
  3. robotframework使用RequestsLibrary进行http接口测试
  4. 很专业的Flash游戏
  5. ROS学习(七):ROS launch 文件
  6. hadoop商业版本选择对比
  7. D2Admin 7月份更新内容:cli3以及更方便的全局控制等
  8. SpringMVC源码分析(8)剖析ViewResolver
  9. 远程管理Hyper-V Server 虚拟机
  10. Nginx配置防盗链