当前位置: 首页 > article >正文

汇编运算符和表达式

运算符:

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

数值运算符:

算术运算符:

运算符类型
+( 正号 ) -( 负号 )
+( ) -( ) *( ) /( ) 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.kler.cn/a/107699.html

相关文章:

  • MySQL的SQL书写顺序和执行顺序
  • ios swift开发--ios远程推送通知配置
  • 准确率调整研究中心
  • 阿里云通义大模型团队开源Qwen2.5-Coder:AI编程新纪元
  • python 同时控制多部手机
  • Prometheus面试内容整理-Prometheus 的架构和工作原理
  • 如何使用gpt提高效率
  • 【每日一题】合并两个有序数组
  • 持续集成部署-k8s-服务发现-Ingress
  • vue 无限滚动插件 vue-seamless-scroll
  • 高级深入--day39
  • react关于类组件this指向
  • UML中类之间的六种主要关系
  • 【2023.10.27练习】C语言-字符串转换
  • exFAT文件系统的目录与文件存储
  • 京东平台数据分析(京东销量):2023年9月京东吸尘器行业品牌销售排行榜
  • 抢占式调度是如何发生的
  • 大厂面试题-JVM为什么使用元空间替换了永久代?
  • Spring Cloud Gateway + Knife4j 4.3 实现微服务网关聚合接口文档
  • golang工程——grpc-gateway 转发http header中自定义字段到grpc上下文元数据
  • 原始流,缓冲流性能比较
  • 淘宝API接口获取商品信息,订单管理,库存管理,数据分析
  • 计算机网络重点概念整理-第七章 网络安全【期末复习|考研复习】
  • 场效应管器件
  • 【C语言数据结构——————排序(1万字)】
  • VSCode 自动格式化