微机原理:汇编语言语句类型与格式
文章目录
- 壹、语句类型
- 1、语句分类
- 2、常用伪代码和运算符
- 2.1数据定义伪指令
- 2.1.1字节定义伪指令DB(8位)
- 2.1.2字定义伪指令DW(16位)
- 2.1.3双字节伪指令DD
- 2.1.4 多字节定义DF/DQ/DT(了解)
- 2.2 常用运算符
- 2.2.1 $运算符
- 2.2.2 SEG运算符
- 2.2.3 OFFSET运算符
- 2.2.4 PTR运算符
- 2.2.5 算术运算符、逻辑运算符、关系运算符
壹、语句类型
1、语句分类
汇编语言源程序包括的语句类型为:指令性语句和指示性语句。
- 指令性语句即为通常所说的符号指令;
符号指令:经过汇编后,其机器指令通知CPU进行数模操作。 - 指示性语句包括伪指令和宏指令。
伪指令:是非机器指令,是在汇编链接期间进行操作。为汇编程序,链接程序提供汇编链接信息。
看一副图片:

2、常用伪代码和运算符
- 常用伪指令:DB DW DD EQU=
- $ SEG OFFSET PTR 算术运算、逻辑运算、关系运算
- 数据定义伪指令:DB DW DD DF/DQ/DT
- 符号定义伪指令:EQU=
2.1数据定义伪指令
2.1.1字节定义伪指令DB(8位)
(1)变量名 DB 一个或多个用逗号间隔的单字节数
例如:
N1 DB 12H,64,-1,3*3DB 01010101B,'A','B'DB 0A6H,'HELLO'
N2 DB ?,?,? ;与N2 DB 3 DUP(?)等价
说明:
DB:字节
?——随机数,DUP()——重复表示括号里面内容
如:3 Dup(?):代表3个用逗号隔开的随机数
5 Dup(‘A’):表示五个用逗号逗号隔开的A的ascall码值。
(2)内存中存储方式

注意:
1、此处N1变量名,定义的DB是依次存储内存中,无高低位之分,比如一个数值:1234H,他们存储的位置12H在上面,34H在下面,这个需要注意。
2、DB定义的8位的数值。
2.1.2字定义伪指令DW(16位)
(1)格式:变量名 DW 一个或多个用逗号隔开的双字节数
例如:
WNUM DW 1234H,56,'AB','C'DW ?,? ;DW 2 DUP(?)等价
说明:
1、DW——字定义
2、?——双字节随机数
3、单引号中只能是一个或两个字符(16位)
(2)内存中存储方式


2.1.3双字节伪指令DD
格式: 变量名 DD 一串用逗号间隔的4字节数
例如: DNUM DD 12345678H
说明:
- 依然和DW定义一样,相对应着,低位字节对应低址单元。
- 单元是从0开始计算,比如看下图,第一个就是DNUM,第二个就是DNUM+1…

2.1.4 多字节定义DF/DQ/DT(了解)

2.2 常用运算符
2.2.1 $运算符
汇编程序对源程序是逐行汇编的,$ 运算符可以返回汇编计算器的当前值。
应用:$ 运算符紧跟在DB、DW、DD伪指令之后,统计字符串的长度。
例如:数据段有:
BUF DB'THE QUICK BROWN FOX' ;字符串长度19,空格也需要算在里面
LLL EQU $-BUF
汇编之后,LLL的值就为19.
2.2.2 SEG运算符
格式:SEG段名或变量名或标号名
功能:计算某一逻辑段的段基址
例如:
MOV AX,SEG DATA
MOV DS,AX
设“DATA”是数据段的段名,上述两条指令算出数据段的段基址,先赋给AX,再转赋给DS。
2.2.3 OFFSET运算符
格式:OFFSET 变量名或标号名
功能:算出逻辑段中某个变量或标号名所在单元相对于段首的偏移地址
例如:设以‘DATA’为段名的数据段,存在
BUF DB 12H,34H,56H
代码段:MOV AX,SEG DATAMOV DS,AXMOV BX,OFFSET BUFMOV AL,[BX] ;间接寻址
2.2.4 PTR运算符
格式:类型说明符 PTR 地址表达式
下面有两类,当类型确定时,既不需要用ptr来转换,否则就需要;
- 类型属性确定:寄存器、用变量名直接寻址的内存操作数
- 类型属性不确定:立即数、带有[ ]的内存操作数
2.2.5 算术运算符、逻辑运算符、关系运算符

相关文章:
微机原理:汇编语言语句类型与格式
文章目录 壹、语句类型1、语句分类2、常用伪代码和运算符2.1数据定义伪指令2.1.1字节定义伪指令DB(8位)2.1.2字定义伪指令DW(16位)2.1.3双字节伪指令DD2.1.4 多字节定义DF/DQ/DT(了解) 2.2 常用运算符2.2.1…...
iOS Flutter Engine源码调试和修改
iOS Flutter Engine源码调试和修改 1. 前提:2. 步骤:3. 参考资料 1. 前提: 已将成功安装deop_tools工具已经通过gclient命令同步好flutter engine源码 2. 步骤: 进入engine/src目录 创建flutter engine构建文件 真机文件debug模式: ./flu…...
Java日志系统之Log4j
目录 Log4J Log4j的简单使用 日志级别 Log4j的组件 Loggers Appenders Layout Layout格式 设置配置文件加载 配置文件解析 Log4J 是Apache下开源的日志框架 Log4j的简单使用 Testpublic void testLog4J(){Logger logger Logger.getLogger(Log4jTest.class);logger…...
Windows11系统安装WSL教程
WSL,全称Windows Subsystem for Linux,是微软官方提供的可以在Windows上直接运行的Linux环境,包括大多数命令行工具、程序和应用,由系统底层虚拟机平台支持。 开启相关服务 1、控制面板-启用或关闭Windows功能 2、勾选以下两个…...
总结一下vue中v-bind的常见用法
文章目录 🐕前言:🏨简述一下v-bind命令🧸其它写法1.还是当成字符串🦓其它写法2.当成对象来使用 🐕前言: 本篇博客主要总结一下v-bind命令在vue中的常见用法(看完即懂) …...
全面超越AutoGPT,面壁智能联合清华NLP实验室开源大模型「超级英雄」XAgent
近日,国内领先的人工智能大模型公司面壁智能又放大招,联合清华大学 NLP 实验室共同研发并推出大模型「超级英雄」——XAgent。 通过任务测试,XAgent 在真实复杂任务的处理能力已全面超越 AutoGPT。 现已在 GitHub 正式开源,地址 …...
springBoot--web--http缓存机制测试
springBoot--web--http缓存机制测试 前言1、多端内容适配基于请求头内容协商(默认开启)基于请求参数内容协商(需要开启) 2、默认返回json数据3、设置返回xml数据导入jackson-dataformat-xml包在类文件中添加注解 JacksonXmlRootEl…...
免费活动】11月4日敏捷武林上海站 | Scrum.org CEO 亲临现场
活动介绍 过去的几年里,外界的风云变幻为我们的生活增添了一些不一样的色彩。在VUCA世界的浪潮里,每一个人都成为自己生活里的冒险家。面对每一次的变化,勇于探索未知,迎接挑战,努力追逐更好的自己。 七月࿰…...
VSCode搭建ESP32 ESP-IDF开发环境-Windows
陈拓 2023/10/09-2023/10/14 1. 安装Windows系统下的ESP32 ESP-IDF开发环境 见《Windows系统安装ESP32 ESP-IDF开发环境》 Windows系统安装ESP32 ESP-IDF开发环境-CSDN博客Windows系统安装ESP32 ESP-IDF开发环境。https://blog.csdn.net/chentuo2000/article/details/1339225…...
Java可重入锁(GPT编写)
Java可重入锁是Java并发编程中常用的一种锁机制,它可以允许同一个线程多次获取同一个锁,从而避免死锁和其他并发问题。在本篇博客中,我们将对Java可重入锁的源码进行分析,以便更好地理解它的实现原理和使用方法。 Java可重入锁的…...
京东数据平台:2023年9月京东净水器行业品牌销售排行榜!
鲸参谋监测的京东平台9月份净水器市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台净水器的销量为64万,环比下滑约9%,同比下滑约16%;销售额为5.2亿,环比下滑约12%,…...
skiaSharp linux 生成验码字体显示不出来
一、拷贝windows下的字体如:C:\Windows\Fonts 设置字体的地方: var fontPath Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts", "TAHOMA.TTF");最终效果:...
WuThreat身份安全云-TVD每日漏洞情报-2023-10-12
漏洞名称:curl SOCKS5 堆溢出漏洞(CVE-2023-38545) 漏洞级别:高危 漏洞编号:CVE-2023-38545,CNVD-2023-75809 相关涉及:cURL libcurl >7.69.0,<8.3.0 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-25382 漏洞名称:Apache H…...
sobel边缘检测算法
Sobel边缘检测算法是一种常用的图像处理技术,用于检测图像中的边缘和轮廓。该算法基于离散卷积操作,通过对图像进行滤波来寻找图像中灰度值的变化。Sobel算子是一种常用的卷积核,用于检测图像中的垂直边缘和水平边缘。以下是Sobel边缘检测算法…...
Kotlin中抽象类与接口
Kotlin 中的抽象类和接口是面向对象编程中的重要概念,它们提供了一种用于定义和组织代码的方式。在下面的代码示例中,我们将介绍 Kotlin 中的抽象类和接口,并给出相应的示例。 抽象类 抽象类是一种不能被实例化的类,它仅用作其他…...
解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况
目录 1. 问题的提出 2. Z冲突(z-fighting)简介 2.1. Z冲突(z-fighting)产生的原因 2.2. 如何消除Z冲突(z-fighting) 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格,鼠标在棋盘格上单击…...
adb 获取 Android 设备中已安装的 apk 文件
前言 今天发现手机上一个应用在应用商店已经搜索不到了,想把其推荐给朋友使用,发现不知道从哪里找原始的 apk 安装文件,记录一下。 如何提取 apk 两种方法 MT管理器导出 可以使用 MT管理器(Android 平台逆向神器),它有个 安装…...
学习记录683@类别不平衡问题解决的基本策略之再缩放的数学解释
什么是类别不平衡问题 分类学习方法都有一个共同的基本假设,即不同类别的训练样例数目相当。如果不同类别的训练样例数目稍有差别,通常影响不大,但若差别很大,则会对学习过程造成困扰。例如有998个反例,但正例只有2个…...
2023App测试必掌握的核心测试:UI、功能测试
一、UI测试 UI即User Interface (用户界面)的简称。UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。手机APP从启动界面开始, 到运行过程,直至退出,…...
华为荣耀手机,开启开发者选项,hbuilder调试依然找不到
我的手机是华为荣耀50,其他华为手机不知道是不是这个问题哦 解决办法:usb配置,选择音频来源 然后就可以了...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
