汇编运算符和表达式

运算符:

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

数值运算符:

算术运算符:

运算符类型
+( 正号 ) -( 负号 )
+( ) -( ) *( ) /( ) 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的立即数;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tensorflow2 中模型训练标签顺序和预测结果标签顺序不一致问题解决办法

本篇文章将详细介绍Tensorflow2.x中模型训练标签顺序和预测结果标签顺序不一致问题&#xff0c;这个问题如果考虑不周&#xff0c;或者标签顺序没有控制好的情况下会出现预测结果精度极其不准确的情况。 训练数据集的结构&#xff1a;数据集有超过10的类别数&#xff0c;这里包…

私有云:【3】NFS存储服务器的安装

私有云&#xff1a;【3】NFS存储服务器的安装 1、使用vmwork创建虚拟机2、配置NFS服务器3、安装NFS存储服务4、配置NFS服务及创建存储共享 1、使用vmwork创建虚拟机 新建虚拟机NFS 分配400G硬盘&#xff0c;可以更高【用作存储】 自定义硬件 选择win2012的iso文件 设置登录密码…

python爬虫request和BeautifulSoup使用

request使用 1.安装request pip install request2.引入库 import requests3.编写代码 发送请求 我们通过以下代码可以打开豆瓣top250的网站 response requests.get(f"https://movie.douban.com/top250"&#xff09;但因为该网站加入了反爬机制&#xff0c;所以…

在 Windows 用 Chrome System Settings 设置代理

在 Windows 用 Chrome System Settings 设置代理 贴心提示&#xff1a;在设置代理之前&#xff0c;请确保您已经安装了 浏览器。 &#x1f527; 设置代理的详细步骤如下&#xff1a; 打开 浏览器&#xff0c;输入 //settings/system 并回车。 在「系统和网络设置」页面中&am…

C++----模板进阶

文章目录 非类型模板参数STL知识补充 类模板的特化函数模板特化类模板特化偏特化 模板的分离编译模板总结 非类型模板参数 模板参数分为类型形参与非类型形参。 类型形参&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参…

Seata入门系列【15】@GlobalLock注解使用场景及源码分析

1 前言 在Seata 中提供了一个全局锁注解GlobalLock&#xff0c;字面意思是全局锁&#xff0c;搜索相关文档&#xff0c;发现资料很少&#xff0c;所以分析下它的应用场景和基本原理&#xff0c;首先看下源码中对该注解的说明&#xff1a; // 声明事务仅在单个本地RM中执行 //…

Docker Harbor概述及构建

Docker Harbor概述及构建 一、Docker Harbor 概述1.1、harbor 简介1.2、Harbor的优势1.3、Harbor 的核心组件1.4、Docker私有仓库 架构 二、Harbor构建Docker私有仓库2.1 环境配置2.2、部署Harbor服务2.2.1、上传dock-compose&#xff0c;并设置权限2.2.2、安装harbor-offline-…

软考系列(系统架构师)- 2011年系统架构师软考案例分析考点

试题一 软件架构&#xff08;质量属性效用树、架构风险、敏感点、权衡点&#xff09; 【问题2】&#xff08;13分&#xff09; 在架构评估过程中&#xff0c;需要正确识别系统的架构风险、敏感点和权衡点&#xff0c;并进行合理的架构决策。请用300字以内的文字给出系统架构风险…

MySQL主从复制(基于binlog日志方式)

目录 一、什么是主从复制&#xff1f;二、主从复制原理、存在问题和解决方法2.1.主从复制原理2.2.主从复制存在的问题以及解决办法2.3.主从复制的同步模型2.4.拓展—Mysql并行复制 三、主从复制之基于binlog日志方式3.1.bin-log日志简介3.2.bin-log的使用3.2.1.开启binlog3.2.2…

windows 安装小乌龟

这是什么 这里简单描述一下在windows上如何安装GIT代码管理工具和使用小乌龟版本来调用GIT&#xff0c;并且配置一下git相关信息&#xff0c;可以使用小乌龟来操作代码。也有一些常规git使用方法。 需要的资源 Git-2.42.0-64-bit.exe&#xff08;这个是git代码管理工具&…

[已解决]安装的明明是pytorch-gpu,但是condalist却显示cpu版本,而且torch.cuda.is_available 也是flase

问题; 安装了gpu版本的pytorch&#xff0c;但是显示的torch.cuda.is_available(&#xff09;却是flase。 conda list查看 版本显示只有cpuonly 在网上找了半天&#xff0c;也没有解决办法。 仔细看了一下&#xff0c;发现&#xff0c;有个单独的包叫cpuonly&#xff0c;不知道…

【Python爬虫三天从0到1】Day1:爬虫核心

目录 1.HTTP协议与WEB开发 &#xff08;1&#xff09;简介 &#xff08;2&#xff09;请求协议和响应协议 2. requests&反爬破解 &#xff08;1&#xff09;UA反爬 &#xff08;2&#xff09;referer反爬 &#xff08;3&#xff09;cookie反爬 3.请求参数 &#x…