汇编循环指令(汇编统计正负数汇编语言1到100的求和汇编求一组数最大值)

news2024/12/22 19:09:57

目录

LOOP指令(重点掌握)

LOOPZ/LOOPE指令

LOOPNZ/LOOPNE指令 

例题

一:读程序写结果

二:阅读程序段回答问题

三:读程序写结果

四:求100内的数累和

五:统计正数负数零

六:求字节单元中最大的数送MAX单元

七:统计键盘输入的大写字母个数


LOOP指令(重点掌握)

先减1,判断是不是为零。为零就退出

特殊的情况CX的初值是0。问这个程序执行多少次

0-1=0FFFFH=65535

在加上刚开始就执行的一次,所以一共执行65536次。也就是初值为零执行次数最多

和8253也是初值为零,计数的值最大

LOOPZ/LOOPE指令

循环继续的条件有两个

可能会提前退出  

CMP  A,B 两数不相等,就退出了 ZF=1

使用的地方,比较两块内存单元的存的内容是否相同

LOOPNZ/LOOPNE指令 

用处:从一个字符串里找是否存在一个字母

例题

一:读程序写结果

BLK1  db 36,84,34,-3,20,122,73
    MOV CX,7
    LEA SI,BLK1
NEXT : 
    MOV AL,[SI]
    INT SI
    TEST AL,01H
    LOOPZ NEXT
    MOV BL,[SI]

问AL=(-3)   BL=(20

二:阅读程序段回答问题

执行程序后AX= (110) BX=(22),该程序的功能是(20之内偶数累和) 

 

 1:DTA1的后五个单元赋值给DAT2后五个单元

2:DAT1+4

三:读程序写结果

 

  

AL=00H   SI=1009H  CX=00H

四:求100内的数累和

DATA SEGMENT
SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATAXX
START:
	MOV AX,DATA
	MOV DS,AX
    MOV AX,0
    MOV CX,100
NEXT:
    ADD AX,CX
    LOOP NEXT
    MOV SUM,AX
EXIT:
	MOV AH,4CH
	INT 21H
CODE ENDS
END START

五:统计正数负数零

内存中有10个数,统计正数,负数和零的个数,放

PLUS,NEGO,ZERO三个内存单元

DATA SEGMENT
MEN  DB 1,2,3,4,5,6,7,8,0,10
PLUS DB 0
ZERO DB 0
NEGO DB O
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATAXX
START:
	MOV AX,DATA
	MOV DS,AX
	MOV CX,10;计数初值
	MOV SI,OFFSET MEN;获取地址指针
NEXT:
	MOV AL,[SI];送数据
	CMP AL,0;和零比较
	JG P1;大于零是整数跳转
	JZ Z1;等于0跳转
	INC NEGO
	JMP LOP1;
P1:
  INC PLUS
  JAM LOP1
Z1:
  INC ZERO
LOP1:
  ;保证一个出口
  INC SI;修改指针的值
  LOOP NEXT;继续循环
EXIT:
	MOV AH,4CH
	INT 21H
CODE ENDS
END START

六:求字节单元中最大的数送MAX单元

;默认采用ML6.11汇编程序
DATAS SEGMENT
MEM DB 1,2,3,4,5,6,7,11,44,8
MAX DB ?
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV CX,9
    MOV SI,OFFSET MEN
NEXT:
    MOV AL,[SI]
    CMP AL,[SI+1]
    JG G1
    MOV AL,[SI+1];保证AL里面存的是最大的
G1:
 	INC SI
 	LOOP NEXT
    MOV MAX,AL   
EXIT:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

七:统计键盘输入的大写字母个数

;统计键盘输入的大写字母个数
DATAS SEGMENT
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV BL,0
NEXT:
    MOV AH,1
    INT 21H
    CMP AL,0DH;先判断是不是回车
    JZ NEXT1
    CMP AL,41H
    JB NEXT
    CMP AL,5AH
    JA NEXT
    INC BL
    JMP NEXT  
NEXT1:
    MOV DL,BL
    ADD DL,30H
    MOV AH,2
    INT 21H
EXIT:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

03---后端框架搭建

1、创建项目 打开Ider&#xff0c;创建springboot项目。创建页面勾选需要的依赖&#xff0c;自定义包名、存储位置等&#xff0c;然后创建项目pom依赖如下 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>…

jenkins开发相关

1、jenkins 处理系统配置中publish over ssh中的密码 主机信息数据存储在&#xff5e;/.jenkins/jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml文件中。 java后端如果要加密可以通过以下方法实现。 String Password "xxxx" String passwd "pr…

中科方德服务器操作系统虚拟机安装过程记录

没啥技术含量&#xff0c;就是过程中踩了一些坑&#xff0c;我做个记录&#xff0c;方便后续查阅以及其他人参考什么的。 1、新建虚拟机向导---选择典型配置 2、选择&#xff1a;稍后安装客户机操作系统 3、选择客户机操作 系统以及版本&#xff0c;中科方德服务器系统为在安装…

【LeetCode每日一题】——338.比特位计数

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【题目进阶】九【时间频度】十【代码实现】十一【提交结果】一【题目类别】 动态规划 二【题目难度】 简单 三【题目编号】 338.比特位计数 四【题目描述…

IPv4 ACL访问列表简介、ACL的3种主要分类介绍与配置、以大白话介绍ACL通配符、ACL动作、定义方向、Rule序号。

3.0.0 IPv4 ACL列表&#xff08;简介、ACL分类、ACL配置、通配符&#xff09; ACL访问控制列表简介ACL的分类(华为设备)1、基本/标准ACL基本ACL编号&#xff1a;2000~2999基本ACL的作用&#xff1a;基于数据流的源地址进行匹配2、高级ACL高级ACL编号&#xff1a;3000~3999高级A…

代码随想录刷题记录day46 最长递增子序列+最长连续递增序列+最长重复子数组

代码随想录刷题记录day46 最长递增子序列最长连续递增序列最长重复子数组 300. 最长递增子序列 思想 1.dp数组的定义 dp[i]表示[0,i]区间的最长递增子序列 2.递推公式 如果num[i]>num[j];dp[i]dp[j]1 其中j从0到i-1遍历 3.初始化 所有的都初始化为1 4.遍历顺序 从…

一文读懂于Zebec生态中的潜在收益方式

随着加密市场逐渐陷入低谷&#xff0c;曾经火热的NFT、GameFi等赛道都陷入了沉寂。投资者目前很难在加密市场中获得可观的收益&#xff0c;而在整体加密市场发展局势不明朗的情况下&#xff0c;行业目前缺乏发展动力。 目前&#xff0c;以流支付为主要定位的Zebec生态&#xff…

docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例

场景 若依前后端分离版手把手教你本地搭建环境并运行项目&#xff1a; 若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客_前后端分离的项目怎么运行 上面在搭建起来前后端分离版的项目后。 如果想通过Dockerfile的方式部署项目可以参考如下。…

沃尔玛账号被冻结后如何进行申诉?

目前申请一个沃尔玛店铺并不容易&#xff0c;但仍有不少卖家因为操作不当导致账号被冻结封禁&#xff0c;这对于国内的卖家来说是巨大的损失。那么要如何避免账号被冻结&#xff0c;冻结后又该如何申诉呢&#xff1f;如何避免账号被冻结&#xff1f; 一、保证店铺表现符合平台标…

纵向分栏

【问题】 I would like to create a table that should be vertical orientation, that means each resultset row should filled from left to right.. Can i achieve this without using crosstab? 【回答】 横向分栏的功能可以先用集算器把数据准备好作为普通报表实现&…

【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~ 多项式回归 非线性回归是用一条曲线或者曲面去逼近原始样本在空间中的分布&#xff0c;它“贴近”原始分布的能力一般较线性回归更强。 多项式是由称为不定元的变量和称为系数的常数通过有限次加减法、乘法以及自然数幂次的乘方运…

手把收教你Spring Cloud Alibaba基础教程:使用Sentinel实现接口限流

我们在上面学习了&#xff1a; 手把手教你Spring Cloud Alibaba教程:nacos安装 手把手教你Spring Cloud Alibaba教程:使用nacos实现服务注册与发现 手把手教你Spring Cloud Alibaba教程:使用Nacos作为配置中心 手把手教你Spring Cloud Alibaba教程:使用Nacos作为配置中心 …

最小二乘法拟合直线、曲线

参考文章&#xff1a;马同学马同学提供线性代数,微积分,概率论与数理统计,机器学习等知识讲解https://www.matongxue.com/madocs/818/ C最小二乘法拟合-&#xff08;线性拟合和多项式拟合&#xff09;_尘中远的博客-CSDN博客_namespace gsl 最小二乘法—多项式拟合非线性函数…

LeetCode_BFS_DFS_简单_1971.寻找图中是否存在路径

目录1.题目2.思路3.代码实现&#xff08;Java&#xff09;1.题目 有一个具有 n 个顶点的 双向 图&#xff0c;其中每个顶点标记从 0 到 n - 1&#xff08;包含 0 和 n - 1&#xff09;。图中的边用一个二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 u…

MR案例(2):学生排序(单字段排序、多字段排序)

文章目录一、任务目标1. 准备数据二、实行任务1. 创建Maven项目2. 添加相关依赖3. 创建日志属性文件4. 创建学生实体类5. 创建学生映射器类6. 创建学生归并器类7. 创建学生驱动类8. 启动学生驱动器类&#xff0c;查看结果一、任务目标 MR案例&#xff1a;学生排序&#xff08;…

【C++】继承与面向对象设计

目录 一、确保public继承塑模出is-a关系 二、避免隐藏继承而来的名称 三、区分接口继承和实现继承 四、考虑virtual函数以外的其他选择 五、不要重新定义继承而来的non-virtual函数 六、不要重新定义继承而来的缺省参数 七、尽量使用复合塑模出has-a 总结 一、确保publ…

【MySQL】Innodb存储引擎之物理存储结构(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

云服务器安装jdk

第一步使用工具连接自己的服务器 连接成功后 在左侧选择需要上传的文件到opt目录 在云服务器的命令行操作界面输入指令 解压&#xff0c;输入jdk按table键自动补全 tar -zxvf 配置环境变量 vim /etc/profile 修改环境变量&#xff08;具体视安装 java 地址修改&#xff09; …

计算机毕设Python+Vue学生实验报告管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

jQuery 介绍

文章目录jQuery 介绍介绍下载安装jQuery 介绍 介绍 jQuery本身就是用JavaScript来写的&#xff0c;它只是把JavaScript中最常用的功能封装起来&#xff0c;以方便开发者快速开发。遥想当年&#xff0c;jQuery的创始人John Resig就是受够了JavaScript的各种缺点&#xff0c;所…