因为嵌入式系统学习需要,开始学习汇编语言
学习资料是B站的视频:汇编语言程序设计 贺利坚主讲 (P25)

这里写目录标题

  • 一、LOOP功能与格式
  • 二、LOOP指令实例
  • 三、LOOP指令执行的要求
  • 四、用LOOP指令实现乘法的例子
  • 五、总结

一、LOOP功能与格式

  • 功能:实现循环(计数型循环)
  • 指令格式:LOOP 标号

二、LOOP指令实例

以下是一个LOOP指令的实例
程序的功能是计算 2122^{12}212

assume cs: code
code segmentmov ax, 2mov cx, 11
s: add ax, axloop smove ax, 4c00hint 21th
code ends
end

CPU执行LOOP指令时,要进行的操作 (LOOP指令默认会使用cx寄存器)

  1. 赋值 (cx) = (cx - 1)
  2. 判断 cx 中的值:
    不为零则转至标号处执行程序;
    为零就向下继续执行

三、LOOP指令执行的要求

  • cx 中要提前存放循环次数,因为 cx 影响着LOOP指令执行的结果
  • 要定义一个标号

四、用LOOP指令实现乘法的例子

五、总结

LOOP指令是汇编语言进行循环操作的指令,要注意的是LOOP指令会默认使用 cx 寄存器,所以在使用LOOP时要提前给 cx 一个值

LOOP指令——汇编语言学习笔记3相关推荐

  1. [BX] 和 loop 指令---汇编学习笔记

    [BX] 和 loop 指令 [bx]和内存单元的描述 loop 我们定义的描述性的符号:"()","()"中的元素可以有3中类型:寄存器名.段寄存器名.内存单 ...

  2. windows下32位汇编语言学习笔记

    windows下32位汇编语言学习笔记 第一章  第一章 背景知识 80x86处理器的存储器 4个数据寄存器 EAX,EBX,ECX,EDX EAX寄存器 所有API函数的返回值都保存在EAX里,注意 ...

  3. 32位汇编语言学习笔记(45)--测试简单文件操作接口(完)

     这是<Assembly Language step by step programming with linux>书中的最后一个程序,也是全书中的最复杂的一个程序. 首先看一下这个程 ...

  4. MIPS汇编语言学习笔记07:打印双精度浮点数

    课程原视频: https://www.bilibili.com/video/BV19J411y7pA?p=7 程序功能: 设定两个双精度浮点型数据,将其相加后打印输出. 代码: .datamyDoub ...

  5. win32汇编语言学习笔记(三)

    汇编语言学习笔记(三) CH3.Windows汇编基础 .386 .model flat,stdcall option casemap:none 定义程序使用的指令集.工作模式 相应的还有:.8086 ...

  6. MIPS汇编语言学习笔记11:整数减法 (mult方法)

    任务:整数相乘,并输出打印. 代码: .dataintA: .word 5intB: .word 2 .textli $v0, 1lw $a1, intAlw $a2, intBmult $a1, $ ...

  7. 菜鸟的汇编语言学习笔记

    汇编语言学习笔记 1.1机器语言 计算机发展初期,人们都是用机器语言进行编程的,这也是人们能实现编程控制计算机的最低级别.那么机器语言是什么样子的呢?就是用0和1组成的一个串(形如011010101) ...

  8. Vue学习(入门实例、常用指令)-学习笔记

    文章目录 Vue学习(入门实例.常用指令)-学习笔记 实例 常用指令 v-on v-bind v-for v-html v-if event v-model 双向数据绑定实现 - defineProp ...

  9. Vue -- 指令【学习笔记】(持续更新)

    Vue – 指令[学习笔记](持续更新) 记录了Vue第三天的学习笔记 v-show 注意,v-show 不支持 <template> 元素,也不支持 v-else. 带有 v-show ...

最新文章

  1. python 判断字符串是否为空,字典是否为空,列表是否为空,元组是否为空的方法
  2. Struts2中action获取request、response、session的方式
  3. C#协变和逆变 - 译
  4. 《JavaScript语言精髓与编程实践》读书笔记二
  5. Method not found: '!!0[] System.Array.Empty()'.
  6. (021) Linux之正则表达式
  7. 静态路由与动态路由概念及实例
  8. js的规范写法ES5(自己以后按照这样写)
  9. oracle 区管理系统,oracle区管理和段空间管理详细介绍
  10. 如何一个月减重20斤?
  11. 3 基于采样的路径规划 —— RRT算法
  12. 魔兽世界单机mysql密码_魔兽世界单机版-Trinity-Core数据库表解释
  13. Java利用itchat4j插件实现个人微信自动化
  14. Linux安装视频播放器
  15. C# WPF 建立无边框(标题栏)的登录窗口的示例
  16. Android源码环境搭建(aosp Ubuntu 16.04)
  17. pytest测试框架——allure报告
  18. Opencv中Mat类详细解读(学习笔记)
  19. CSS入门系列(一)概述和html结合的方式
  20. windows更改pip源_Windows下更改pip镜像源

热门文章

  1. 利用SD的插件从文本或者图片创建3D模型
  2. java时间类型处理manman
  3. JDBC学习心得(一)
  4. 输入1-12数学显示对应月份
  5. 周杰伦《说好不哭》刷屏背后的营销思考
  6. golang为http客户端设置DSCP
  7. 这所211非常保护一志愿,录取最低分263分,多个专业上线即录取!
  8. 单工、半双工、全双工一点通
  9. Anaconda安装pytorch——清华镜像源不稳定
  10. DEEPFAKE VIDEO DETECTION USING 3D-ATTENTIONAL INCEPTION