汇编条件转移指令

news2024/11/17 10:59:37

目录

条件转移指令(基本格式)

 简单条件转移指令

区分带符号数和无符号数

  无符号数条件转移指令

比较内存中两个无符号数的大小,显示器输出小的数

内存中三个无符号数,输出最小的

符号数的条件转移指令

内存中有三个字节型带符号数,把最大的送到VAR2这个字节单元

无条件转移指令(配合使用)

练习

总结(把这些记住考试就够用了)


条件转移指令(基本格式)

 简单条件转移指令

区分带符号数和无符号数

  无符号数条件转移指令

比较内存中两个无符号数的大小,显示器输出小的数

技巧:都是保证AL中的数是最小的

DATAS SEGMENT
    VAR1 DB 2,3
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AL,VAR1
    MOV BL,VAR1+1
    CMP AL,BL
    JB NEXT
    MOV AL,BL
NEXT:
    MOV DL,AL
    ADD DL,30H
    MOV AH,2
    INT 21H
EXIT: 
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

内存中三个无符号数,输出最小的

DATAS SEGMENT
    VAR1 DB 5,2,3
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AL,VAR1
    MOV BL,VAR1+1
    CMP AL,BL
    JB NEXT
    MOV AL,BL
NEXT:
    MOV CL,VAR1+2
    CMP AL,CL
    JB NEXT1
    MOV AL,CL
NEXT1:
    MOV DL,AL
    ADD DL,30H
    MOV AH,2
    INT 21H
    
EXIT: 
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

符号数的条件转移指令

内存中有三个字节型带符号数,把最大的送到VAR2这个字节单元

技巧跟上面的题一样,保持AL里面存的是最大值就可以

DATAS SEGMENT
    VAR1 DB 5,2,8
    VAR2 DB ?
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AL,VAR1
    CMP AL,VAR1+1
    JG A1
    MOV AL,VAR1+1
A1: 
    CMP AL,VAR1+2
    JG A2
    MOV AL,VAR1+2
A2:
    MOV VAR2,AL
EXIT: 
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

无条件转移指令(配合使用)

练习

1:条件转移指令JNBE产生转移的条件是()

A:CF=0且 ZF=0    B:CF=0且ZF=1   C:CF=0且ZF0  D:CF=1且ZF=1

2:条件转移指令JNE的测试条件为(ZF=0)

A:ZF=0  B:CF=0   C:ZF=1   D:CF=1

3:编写完整汇编语言程序实现如下功能:

在M单元和N单元分别存有一个8位无符号数36H和95H,要求比较这两个无符号数,并根据比较结果在屏幕上显示M>N或者N>M(假设这两个数不相等)

DATAS SEGMENT
GGG DB 'M>N$'
LLL DB 'N>M$'
M DB 36H
N DB 95H
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AL,M
    MOV DL,N
    CMP AL,DL
    JB AAAA
    MOV DX,OFFSET GGG
    MOV AH,9
    INT 21H
    JMP EXIT
AAAA:
   MOV DX,OFFSET LLL
   MOV AH,9
   INT 21H  
EXIT:   
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

4:

DATAS SEGMENT
X DB -5
Y DB 20
Z DB 0
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV Z,0
    MOV AL,X
    MOV BL,Y
    XOR AL,BL
    JS EXIT;SF=1如果符号位不同,就跳转
    MOV Z,1
    CMP AL,0
    JNS EXIT;如果符号位为0
    NEG Z
EXIT:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

总结(把这些记住考试就够用了)

 

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

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

相关文章

[附源码]Python计算机毕业设计冠军体育用品购物网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

uni-app卖座电影多端开发纪实(一):创建项目

@关于uni-app 今日之C端主要都是跑在手机而非PC上了,其形态也以小程序、App、手机H5页面为主了;大前端之C端 作品拿粗给人看,也十之八九要掏手机了;好在我们有 宇宙制霸人间值得流芳千古不可一世之我是大天才——uni-app!基于Vue+uni-app做开发,一套代码多端打包,老板省钱…

[LeetCode周赛复盘] 第 324 场周赛20221218

[LeetCode周赛复盘] 第 324 场周赛20221218 一、本周周赛总结二、 [Easy] 6265. 统计相似字符串对的数目1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6266. 使用质因数之和替换后可以取到的最小值1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6267. 添加边使所有节点度数…

区块链北大肖老师学习笔记3

第四节:比特币的共识协议 数字货币和纸质货币区别是可以复制,叫作双花攻击 即double spending attack。 去中心化货币要解决两个问题:①数字货币的发行②怎么验证交易的有效性,防止double spending attack。 答案:①比特币的发行是由挖矿决定的 ②…

适合编程初学者的开源博客系统(Vue3+Vant版)

目标 为编程初学者打造入门学习项目,使用各种主流编程语言来实现。让想学编程的,一个都不落下。 上述基本涵盖了当前编程开发所有主流语言。 左侧为前端版本:安卓、iOS、鸿蒙、Flutter、Vue、uni-app、微信小程序。 右侧为服务器端版本&am…

HC-SR501人体感应模块介绍

HC-SR501人体感应模块简介 HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口 LHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产…

【算法】九月算法打卡

2022-09-01 外观数列 后一项是前一项的描述 获取第 n项数列,需要获取第n-1项数列。由此得出要采用递归回溯的形式 /*** param {number} n* return {string}*/ var countAndSay function(n) {if(n 1) return "1";// 上一串字符串let prevSeq countAn…

为什么卷积神经网络对图像的处理有很好的效果

1、前馈神经网络、BP神经网络、卷积神经网络的区别与联系 一、计算方法不同 1、前馈神经网络:一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层.各层间没有反馈。 …

【Python机器学习】模型聚类高斯混合模型GMM讲解及实战演示(附源码 超详细)

需要源码和数据集请点赞关注收藏后评论留言私信~~~ 模型聚类 模型(Model)聚类假定每个簇符合一个分布模型,通过找到这个分布模型,就可以对样本点进行分簇。 在机器学习领域,这种先假定模型符合某种概率分布&#xff…

安装Elasticsearch

文章目录部署单点es部署kibanaDevTools安装IK分词器在线安装ik插件(较慢)离线安装ik插件(推荐)将 ik 目录 上传到es容器的插件数据卷中重启容器异常测试扩展词 词典部署es集群链接:https://pan.baidu.com/s/1HRHLxmVDf…

12.17

1. Promise 构造函数: Promise (excutor) {} (1) executor 函数: 执行器 (resolve, reject) > {} (2) resolve 函数: 内部定义成功时我们调用的函数 value > {} (3) reject 函数: 内部定义失败时我们调用的函数 reason > {} 说明: executor 会在 Promise 内部立即同…

日期-日历-选择器实现(图文并茂)

文章目录日历模板效果图展示功能点介绍完整代码(cv即可)index.wxmlindex.wxssindex.js日期时间选择器效果图展示1、使用小程序原生的picker①普通选择器:mode selector②多列选择器:mode multiSelector③时间选择器:…

一起Talk Android吧(第四百四十五回:UI控件之TimePicker)

文章目录概念介绍使用方法内容总结各位看官们大家好,上一回中咱们说的例子是"UI控件之DatePicker",这一回中说的例子是"UI控件之TimePicker"。闲话休提,言归正转,让我们一起Talk Android吧! 概念介绍 看官们…

字体包体积压缩实践

这篇博客针对axios库的核心代码做一个简要总结 一、关键步骤 1.创建axios对象 axios库导出的对象是一个已经被创建好的axios对象,它本质上是一个方法,可以直接接收一个config配置参数进行请求。在库的入口处,即可看到如下代码:…

非零基础自学Golang 第11章 文件操作 11.1 目录基本操作 11.1.2 创建目录 11.1.3 删除目录

非零基础自学Golang 文章目录非零基础自学Golang第11章 文件操作11.1 目录基本操作11.1.2 创建目录11.1.3 删除目录第11章 文件操作 11.1 目录基本操作 11.1.2 创建目录 Go标准库中的os库提供了平台无关性的操作系统功能接口。 创建目录时可以使用os库的如下接口&#xff1…

基于JSP的网络考试系统/在线考试系统的设计与实现

摘 要 网络考试系统是由高校的一个网络考试,按照章程自主开展网络考试系统。网络考试是实施素质教育的重要途径和有效方式,在加强校园文化建设、提高学生综合素质、引导学生适应社会、促进学生成才就业等方面发挥着重要作用,是新形势下有效凝…

[hadoop全分布部署]安装Hadoop、验证Hadoop①

👨‍🎓👨‍🎓博主:发量不足 个人简介:耐心,自信来源于你强大的思想和知识基础!! 📑📑本期更新内容:安装Hadoop、验证Hadoop①&#…

【免杀前置课——Windows编程】十九、内存管理—堆,Windows如何管理内存数据?堆内存相关API

内存管理内存管理—堆Windows是如何管理内存数据的?堆内存管理相关API内存管理—堆 每个进程都有自己独立的4G内存空间,高2G操作系统内核使用,低 2G用户使用。 每个进程中我们使用的都是虚拟地址,虚拟机地址到物理地址的转换由操作系统内核…

1. 找出字符串中第一个匹配项的下标

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack &qu…

图形学中那些你需要知道的变换概念

前言 在前面的OpenGL ES 教程中,随着教程的进展,我们介绍并使用过很多变换矩阵,但没有系统总结过图形学涉及到的种种变换,因此这篇文章再次回顾“变换”这个主题。 变换 通俗来讲,所谓的变换就像编程中调用一个函数…