🎓 微机原理考点专栏(通篇免费)
欢迎来到我的微机原理专栏!我将帮助你在最短时间内掌握微机原理的核心内容,为你的考研或期末考试保驾护航。
为什么选择我的视频?
- 全程考点讲解:每一节视频都紧扣考试要点,拒绝冗余,专注于最关键的知识点。
- 系统且高效:我已经为你精心准备了系统的学习资料,让你不再迷茫。
🔗 点击这里观看我的视频讲解 🔗
我需要你的支持
我为这套视频投入了大量精力,希望它能对你的学习有所帮助。如果你觉得内容有用,请给我的视频点个赞、评论、并关注我,这将是我继续创作的最大动力!
🙏 感谢你的支持!祝你学有所成! 🙏
知道LOOP 指令如何实现简单循环,并结合条件跳转完成复杂的流程控制。
流程控制与循环
1. LOOP 指令
- 作用:依赖于 CX(或 ECX)寄存器,用于控制循环。每次执行 LOOP 指令时,CX 自动减 1,若 CX ≠ 0,则跳转到指定标签继续执行循环体。
- 特点:
- 简化计数型循环的实现。
- 示例:
MOV CX, 5 ; 设置循环计数为 5
LOOP_START:
; 循环体代码
LOOP LOOP_START ; 每次循环 CX 自动减1,直到 CX 为 0时不跳转
2. 条件转移指令
- 基本思想:根据前面运算(如 CMP 指令)的结果判断标志位,决定是否跳转到指定代码段。常见的条件转移指令包括:
- JE****/JZ (Jump if Equal / Jump if Zero) ==
- 当比较结果相等或零标志置 1 时跳转。
- 示例:
- JE****/JZ (Jump if Equal / Jump if Zero) ==
MOV AL, 5
CMP AL, 5
JE EQUAL_LABEL ; 若 AL 等于 5,则跳转到 EQUAL_LABEL
- **J****<font style="color:#DF2A3F;">N</font>****E/JNZ (Jump if Not Equal / Jump if Not Zero) !=**
* 当比较结果不等或零标志为 0 时跳转。
* 示例:
MOV AL, 6
CMP AL, 5
JNE NOT_EQUAL_LABEL ; 若 AL 不等于 5,则跳转
- **JL (Jump if Less) <**
* 针对<font style="color:#DF2A3F;">有符号数</font>比较,当第一个操作数小于第二个操作数时跳转。
* 示例:
MOV AX,10
MOV BX,55
CMP AX, BX
JL LESS_LABEL ; 若 AX < BX,则跳转
- **JL****<font style="color:#DF2A3F;">E</font>**** (Jump if Less or Equal) <=**
* 当小于或等于时跳转。
* 示例:
CMP AX, BX
JLE LESS_EQUAL_LABEL
- **<font style="color:#DF2A3F;">JG</font>**** / JNLE (Jump if Greater / Jump if Not Less or Equal) >**
* 针对<font style="color:#DF2A3F;">有符号数</font>比较,当第一个操作数大于第二个操作数时跳转。
- **JG****<font style="color:#DF2A3F;">E</font>**** (Jump if Greater or Equal) >=**
* 当大于或等于时跳转。
- **JB / JNAE (Jump if Below / Jump if Not Above or Equal) <**
* 针对<font style="color:#DF2A3F;">无符号数</font>比较,当第一个操作数低于(小于<)第二个操作数时跳转。
- **JA >**
* 针对<font style="color:#DF2A3F;">无符号数</font>比较,当第一个操作数大于(大于>)第二个操作数时跳转。
- **JAE 大于等于**
- **JBR 小于等于**
- **JMP 指令**
* **无条件跳转**:直接跳转到指定标签,不依赖标志位,常用于跳过某段代码或构建无限循环。
* 示例:
JMP LOOP_START ; 无条件跳转到 LOOP_START 标签
3. 综合示例:使用 CMP 和条件转移实现简单判断
MOV AL, 7
CMP AL, 5 ; 比较 AL 和 5
JL LESS_LABEL ; 如果 AL < 5,跳转到 LESS_LABEL
; 如果没有跳转,则说明 AL >= 5
; 此处写 AL >= 5 的处理代码
JMP CONTINUE
LESS_LABEL:
; 处理 AL < 5 的情况
CONTINUE:
; 后续程序代码
获取方式(讲义+视频)
# 获取方式:直接运行程序即可在控制台输出指定文字
print("微信小程序:知选星球")
print("里面含完整讲义和教学视频")