汇编运算符和表达式

运算符:

汇编语言由表达式和运算符组成,运算符分为数值运算符和属性运算符。属性运算符面向变量或标号。

数值运算符:

算术运算符:

运算符类型
+( 正号 ) -( 负号 )
+( ) -( ) *( ) /( ) MOD( 取模 )
算术运算符与 立即数 常量 括号 等构成数值表达式。
变量 不能参与算术运算构成 数值表达式

关系运算符:

运算符类型
EQ( 等于 ) NE( 不等 ) LT( 小于 ) GT( 大于 ) LE( 小于等
) GE( 大于等于 )
可与 立即数 常量 变量 括号 等构成数值表达式。
关系运算只能有 0 (假) 0FFH (真) 两个返回值。
返回值以二进制补码形式表示,位数由目的操作数决定;

逻辑运算符:

运算符类型
AND( ) OR( ) NOT( ) XOR( 异或 )
SHL( 左移 ) SHR( 右移 )
逻辑运算符可与 立即数 常量 括号 等构成数值表达式。
变量 不能参与逻辑运算。

属性运算符:

段属性操作符SEG

格式: SEG <标识符>
功能
返回标识符所在段的段地址;
例如:
MOV AX , SEG NEXT
MOV BX , SEG DATA
若存储器如上所示,则以上指令执行后
(AX) = 1000H (BX) = 2000H

偏移量属性操作符OFFSET

格式:
OFFSET < 标识符 >
功能
返回该标识符的段内偏移地址;
例如:数据段定义如下:
X1     DW    12H , 100H
X2     DD     0
X3    DB     ? , ‘A’
若执行指令: MOV AX , OFFSET X1
MOV BX , OFFSET X3
(AX) = 0000H (BX) = 0008H

类型操作符TYPE:

格式
TYPE < 标识符 >
功能
返回变量和标号的类型值;
类型值
变量:每个变量所占的字节数;
标号:标号的 NEAR FAR 类型;

长度属性操作符LENGTHOF:

格式
LENGTHOF < 变量名 >
只能应用于变量;
功能
返回 变量 所定义的数据个数;
例如
变量定义为: ARRAY1 DW 2 DUP(0,1) , 1
则指令 MOV AL , LENGTHOF ARRAY1 后, (AL)=5 ;

容量属性操作符SIZEOF:

格式:
SIZEOF < 变量名 >
只能应用于变量;
功能:
返回 变量 的所占存储单元的数目;(一个字节为一个存储单元);

运算符的优先顺序:

表达式:

数值表达式:

由立即数、常量、字符或字符串与数值运算符构成;

由变量、标号与属性操作符构成;

由两个符号地址相减构成两者间的距离表达式。

地址表达式:

由变量、标号、运算符、地址计数器$构成;

地址计数器引用符号$:

格式:¥[+-Imm]

其值表示当前偏移量计数器的值+-Imm的立即数;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

centos中安装Mysql8.0

其实和mysql5.7的安装差不多 1.root用户 2.更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 3.安装mysql yum库 rpm -Uvh https://dev.mysql.com/ get/mysql80-community-release-el7-2.noarch.rpm 4.通过上两步&#xff0c;我们就可以使用yum去安装…

2023-10-21 美团2024秋招后端开发岗笔试题

1 考察dfs和拓扑排序 1.1 题目描述&#xff08;如果拓扑排序不清楚可以去做一下lc 207. 课程表&#xff09; 1.2 答案 import java.util.*;public class Meituan {static int m,n;public static void main(String[] args) {Scanner in new Scanner(System.in);m in.nextInt…

Controller接收Postman的raw参数时,属性值全部为空

Controller接收Postman的raw参数时&#xff0c;属性值全部为空 情景再现 在进行业务代码的编写过程中&#xff0c;使用Postman等工具调用Controller接口时&#xff0c;发现属性值全部为空后端代码如下&#xff1a; Requset对象为&#xff1a; public class QuerySkuRequest …

Openssl数据安全传输平台017:客户端在Linux上的编译与调试

客户端代码在widows上编译&#xff0c;除了protobuf找不到目录&#xff0c;其他的基本没有什么问题。 然后打开虚拟机&#xff0c;项目文件已经在/home/projects目录下了 进入项目文件&#xff0c;对代码进行编译 第一次 // 找不到protobuf g *.cpp *.cc -ljson -lpthread -…

雨云OSS服务介绍和使用教程,以及Chevereto图床使用雨云OSS的教程

雨云OSS&#xff08;对象存储&#xff09;服务介绍和使用教程&#xff0c;以及Chevereto图床程序使用雨云OSS的教程 雨云OSS&#xff08;对象存储&#xff09;是一种基于S3协议的云端数据存储服务&#xff0c;它可以帮助你将数据安全、高效地存储在云端&#xff0c;并且可以随…

队列(Queue)概念+通过单、双链表来模拟队列+环形队列+OJ面试题(用队列实现栈、用栈实现队列、设计环形队列)

文章目录 队列(Queue)一、 概念1.尾进头出 二、模拟队列1.单链表实现队列1.1 设置结点1.2 入队offer1.3出队 poll1.4 empty方法&#xff0c;peek方法&#xff0c;getUsedSize方法 2.双链表实现队列2.1 创建结点2.2 入队列2.3 出队列2.4 peek、size、isEmpty方法 三、环形队列1.…

一键添加命名前缀(文件)

&#xff08;一&#xff09;需求描述 在上班摸鱼的我正准备打开手机刷会儿CSDN论坛&#xff0c;老板发给我一个压缩包并要求我给里面所有的文件的名称添加一个前缀”大项目_”。我本以为只有几个文件需要改&#xff0c;便没放在心上&#xff0c;反倒是心里暗暗吐槽老板“这么简…

c++设计模式二:原型模式

使用场景&#xff1a;当需要构建多个相同的类对象时&#xff0c;而且该类对象结构较为复杂&#xff0c;如果每个都重新组织构建会很麻烦。 其实&#xff0c;就是写一个拷贝构造函数&#xff0c;或者写一个拷贝每个成员变量的clone()方法。 举例说明&#xff1a;比如一个相亲网站…

Megatron-LM GPT 源码分析(四) Virtual Pipeline Parallel分析

引言 本文接着上一篇【Megatron-LM GPT 源码分析&#xff08;三&#xff09; Pipeline Parallel分析】&#xff0c;基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale &#xff0c;通过GPT的模型运行示例&#xff0c;从三个维…

51单片机复位电容计算与分析(附带Proteus电路图)

因为iC x (dU/dt).在上电瞬间&#xff0c;U从0变化到U,所以这一瞬间就是通的&#xff0c;然后这就是一个直流回路&#xff0c;因为电容C直流中是断路的&#xff0c;所以就不通了。 然后来分析一下这个电容的电压到底是能不能达到单片机需要的复位电压。 这是一个线性电容&…

Django 全局配置 settings 详解

文章目录 1 概述1.1 Django 目录结构 2 常用配置&#xff1a;settings.py2.1 注册 APP&#xff1a;INSTALLED_APPS2.2 模板路径&#xff1a;TEMPLATES2.3 静态文件&#xff1a;STATICFILES_DIRS2.4 数据库&#xff1a;DATABASES2.5 允许访问的主机&#xff1a;ALLOWED_HOSTS 1 …

算法通过村第十七关-贪心|黄金笔记|跳跃游戏

文章目录 前言跳跃游戏最短跳跃游戏总结 前言 提示&#xff1a;曾走过山&#xff0c;走过水&#xff0c;其实只是借助他们走过我的生命&#xff1b;我看着天&#xff0c;看着地&#xff0c;其实只是借助它们确定我的位置&#xff1b;我爱这她&#xff0c;爱着你&#xff0c;其实…

RabbitMQ (4)

RabbitMQ (4) 文章目录 1. 死信的概念2. 死信的来源3. 死信代码案例3.1 TTL 过期时间3.2 超过队列最大长度3.3 拒绝消息 前言   上文我们已经学习完 交换机 &#xff0c;知道了几个交换机的使用 &#xff0c;下面我们来学习一下 死信队列 1. 死信的概念 先从概念解释上搞清楚这…

BUUCTF刷题记录

[BJDCTF2020]Easy MD51 进入题目页面&#xff0c;题目提示有一个链接&#xff0c;应该是题目源码 进入环境&#xff0c;是一个查询框&#xff0c;无论输入什么都没有回显&#xff0c;查看源码也没什么用 利用bp抓包查看有没有什么有用的东西 发现响应的Hint那里有一个sql语句&…

WIN11新版画图问题解决

1 白色背景被连同删除的问题 解决方法&#xff1a;加层 将层调整为新建的层&#xff0c;在这个层下画图就行。 2 QQ截图无法直接放在画图上的问题 使用QQ截图的时候&#xff1a; 解决方法&#xff1a;使用windows自带的截图工具 步骤&#xff1a; 1. 使用快捷键winshifts 2.…

【Git企业开发】第一节.Git 初识

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a; 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&#xff01;&#xff01…

Remote Local File Inclusion (RFI/LFI)-文件包含漏洞

在Web应用开发过程中,程序开发者经常会把具有某一功能的部分代码封装起来形成独立的文件,在后续想实现该功能时,就不需要重复编写,直接调用文件,大大提高编程效率。这种调用文件的过程一般被称为文件包含。开发人员为了使代码更灵活,会将被包含的文件设置为变量,用来进行…

1.1 计算机安全概念

思维导图&#xff1a; 前言&#xff1a; 第1章: 计算机与网络安全概念笔记 1. 学习目标 了解保密性、完整性和可用性的关键安全需求。了解OSI的X.800安全架构。识别和举例说明不同的安全威胁和攻击。掌握安全设计的基本准则。熟悉攻击面和攻击树的使用。了解与密码标准相关的…

EASYX剪切区域

eg1:EASY中的颜色模型 可以参考推荐16进制颜色表&#xff1a;https://www.codeeeee.com/color/rgb.html 参考学习EASYX在线文档https://docs.easyx.cn/zh-cn/drawing-func easyx的基本概念和使用方式 #include <stdio.h> #include <easyx.h> #include <iostr…

Winform 多语言化快速解析替换工具-1分钟一个界面

随着业务的扩展&#xff0c;有的软件有多语言化的需求。那么如果软件已经很多写死的文字内容如何快速进行语言化替换呢&#xff0c;一个一个去改工作量太大。 于是开发了个小工具用来替换现有内容并生成语音包&#xff0c;原理就是采用正则表达式进行匹配控件关键字以及中文进…