汇编五、伪指令与汇编程序结构

news2024/11/25 16:04:09

1、伪指令

1.1、概念

(1)伪指令是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有对应机器码,只用于汇编过程中为汇编程序提供汇编信息,帮助编译器编译。

1.2、ASM51提供的伪指令

伪指令分为如下几类。

1.2.1、Assembler state control(汇编程序控制)

(1)包含指令ORG、END、USING。

(2)USING:选择R0-R7的工作区。51单片机中一般有4个R0-R7寄存器,如果中断函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会弹出来,这样可以节约时间,提高中断响应速度。

  • 通常在中断函数末尾加上using  x(x取0-3)
  • 工作寄存器的4个区,分别是R0~R7
  • 第0工作区地址: 00H~07H
  • 第1工作区地址: 08H~0FH
  • 第2工作区地址: 10H~17H
  • 第3工作区地址: 18H~1FH

(3)END: 汇编程序以END结尾,相当于告诉编译器后面没有指令了。

(4)ORG: 定位程序地址,相当于告诉编译器,在开始执行的时候,将某段机器语言装载到内存中的哪个地址。

1.2.2、Symbol definition(符号定义)

(1)包含SEGMENT、EQU、SET、DATA、IDATA、XDATA、BIT、CODE。

(2)EQU:表达式等赋值操作符,EQU翻译为等于、等价。

        举例:R_Second EQU 30H    ;后续用到30H地址就可以用R_Second替换,方便程序的阅读。

1.2.3、Storage initialization/reservation(存储初始化/预订)

(1)包含DS、DBIT、DB、DW。

1.2.4、Program linkage(程序链接)

(1)包含PUBLIC、EXTRN、NAME。

1.2.5、Segment selection(段选择)

(1)包含RSEG、CSEG、DSEG、ISEG、ESEG、XSEG。

2、汇编程序结构

;符号定义
    R_Date EQU 30H
;跳转到main
	ORG 0000H
	LJMP L_Main
;中断向量
	ORG 0030H
;主程序
L_Main:
;用户写代码区
	SJMP $    ;死循环  

;函数子过程
F_Delay:
	RET
;中断子过程
I_INT0:
	RETI
	END    ;结束符

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

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

相关文章

zuul源码分析

zuul源码解析 zuul与springboot整合的依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency>看到starter第一反应就是springboot的自动装配? 我们去…

简历制作、投递、(实习)面试技巧!!

目录 1.为什么要找实习 2.什么时候找实习 3.制作简历 4.简历注意事项 5.IT后端的校招的要求 6.简历里面写什么&#xff1f; 7.简历模板的选择 8.个人信息 9.求职意向 10.专业技能 11.项目经验 12.其他注意事项 13.找工作的手段 14.找工作的态度 ​编辑 15.面试…

IntelliJ IDEA 修改内存大小

idea有个配置文件&#xff0c;可以设置内存大小的&#xff0c;就跟咱的jvm的内存里面的堆大小&#xff0c;栈大小等等&#xff0c;可以设置的&#xff0c;而且设置了之后&#xff0c;你这个的性能就会得到提升。具体看下面怎么修改。 先说所要修改的文件 idea.vmoptions 的位置…

总结常见评价指标

整理一下在机器学习中常见的评价指标&#xff0c;包括&#xff1a; 混淆矩阵&#xff0c;TPR&#xff0c;FPR&#xff0c;TNR&#xff0c;FNR&#xff1b;Precision&#xff0c;Recall&#xff0c;Accuracy&#xff0c;F-score(F1-meature)ROC曲线&#xff0c;AUC&#xff1b; …

[Vue warn]: You may have an infinite update loop in a component render function

老板让该一个bug&#xff0c;结果一连出现好几个问题&#xff0c;然后报错也是很奇葩&#xff0c;在源代码上不能直接定位到&#xff0c;只知道在当前页面上出现的问题&#xff0c;弄了好久&#xff0c;给大家分享一下解决的经验&#xff1a; You may have an infinite update …

2023 年Windows MySql 5.7,MySql 8.0 下载安装教程, 附详细图解

文章目录 下载 MySQL 安装程序安装 MySQL 数据库安装示例数据库连接到 MySQL 服务器 在本教程中&#xff0c;我们展示如何在 Windows 平台上下载和安装 MySQL 的详细步骤。 在 Windows 平台上安装 MySQL 很简单&#xff0c;并不需要太复杂的步骤。按照本文的步骤操练起来就可以…

【Win10错误】从80190001错误码恢复

目录 一、说明 二、操作过程和错误显示 三、修复过程 四、网上的其它参考意见 一、说明 出现0x80190001错误码&#xff0c;其原因是网络认证问题引起。但不是网络断开或路由不通而引起。一般是本地身份cooki无法认证而引起&#xff0c;一般出现在登录认证过程。本篇告诉大家…

2.4G无线游戏手柄方案开发

对于游戏玩家来说&#xff0c;好的外设才能有更好的游戏体验。相比于传统的有线手柄&#xff0c;2.4G无线游戏手柄采用2.4GHz射频无线连接方式&#xff0c;摆脱了连线的困扰。相比于鼠标键盘&#xff0c;游戏手柄在大部分游戏上的使用体验都会更好&#xff0c;让你的游戏体验更…

【MATLAB第30期】基于MATLAB的adaboost多分类预测集成学习模型(四种模型GDA高斯判别分析、Knn、NB朴素贝叶斯、SVM)

【MATLAB第30期】基于MATLAB的adaboost多分类预测集成学习模型&#xff08;四种模型GDA高斯判别分析、Knn、NB朴素贝叶斯、SVM&#xff09; 一、简介 弱分类器 %1.GDA高斯判别分析 %2.Knn (NumNeighbors 5) K邻近 %3.Naive Bayes 朴素贝叶斯 %4.SVM 支持向量机 强分类器 1.a…

【Vue】生命周期

文章目录 生命周期概念一、生命周期图示二、生命周期1.beforeCreate&#xff08;&#xff09;{}2.created&#xff08;&#xff09;{}3.beforeMount&#xff08;&#xff09;{}4.mounted&#xff08;&#xff09;{}5.beforeUpdate&#xff08;&#xff09;{}6.updated&#xff…

C语言预处理详解

参考文章&#xff1a;c语言预处理 目录 程序的翻译环境和执行条件 翻译环境 编译本身也分为几个阶段 预处理 预处理指令 运行环境 程序执行的过程 预处理 预定义符号 #define #define定义标识符 #define定义宏 宏的申明方式 #define替换规则 #和## #的作用 ##…

OTP语音芯片 NV170D在充电桩的语音方案应用

新能源汽车是我国应对气候变化、推动绿色发展的战略举措&#xff0c;在政策和市场需求的推动下&#xff0c;我国新能源汽车产销量双双增长&#xff0c;新能源汽车保有量地稳步增长将会促进充电桩需求的扩大&#xff0c;企业也将进一步在电动汽车充电桩领域布局。 2022年10月11日…

Linux下的Tomcat的安装详解--值得一看

如有错误&#xff0c;敬请谅解&#xff01; 此文章仅为本人学习笔记&#xff0c;仅供参考&#xff0c;如有冒犯&#xff0c;请联系作者删除&#xff01;&#xff01; 目录 简述静态网页和动态网页的区别。 简述 Webl.0 和 Web2.0 的区别。 tomcat8的安装&#xff0c;配置服…

物流行业如何运用IPD?

物流是供应链活动的一部分&#xff0c;是为了满足客户需要而对商品、服务消费以及相关信息从产地到消费地的高效、低成本流动和储存进行的规划、实施与控制的过程。物流以仓储为中心&#xff0c;促进生产与市场保持同步。物流是为了满足客户的需要&#xff0c;以最低的成本&…

奇葩的 Git 签名错误

最近公司电脑升级后又抽风了。 在访问 Git 的时候提示了证书签名错误。 主要提示的错误为&#xff1a; git.exe fetch -v --progress "origin" fatal: unable to access https://src.ossez.com/yhu-docs.git/: SSL certificate problem: unable to get local issue…

大学4年做出来这个算不算丢人

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

C51 - 红外遥控NEC协议

Infrared 1> 实验概述2> 红外遥控器2.1> 硬件电路 3> NEC红外传输协议3.1> 5部分构成3.2> 引导码3.3> 38KHz载波长啥样?3.4> 咋表示 0 / 1; 4> 红外接收5> 程序设计 1> 实验概述 通过红外遥控器&#xff0c;控制DAYi&#xff08;51开发板&a…

【多线程初阶五】线程池常考面试题

目录 &#x1f31f;一、线程池 &#x1f308;1、线程池是什么&#xff1f; &#x1f308;2、为什么要使用线程池&#xff1f; &#x1f308;3、怎么使用线程池&#xff1f; 1、使用标准库中的线程池&#xff08;6种&#xff09;——>不推荐使用。 2、自定义一个线程池…

【移动端网页布局】flex 弹性布局子项目属性 ① ( flex 属性用法说明 | 代码示例 : 占有剩余布局 / 平均分成若干等份 )

文章目录 一、flex 子项目常用属性1、子项目常用属性介绍2、flex 属性用法说明 二、flex 属性代码示例1、代码示例 - 左右两侧 100 像素 / 中间元素占有所有剩余布局3、代码示例 - 平均分成三等份 一、flex 子项目常用属性 1、子项目常用属性介绍 flex 子项目 的常用属性 : fl…

FL Studio 2023年最新安装使用图文教程,FL Studio 21怎么激活解锁?

Image-Line宣布针对Win和Mac版本的数字音频工作站FL Studio的21版本更新。FL Studio2023是一个完整的软件音乐制作环境或数字音频工作站&#xff08;DAW&#xff09;。代表超过 25年的创新发展&#xff0c;它包含了您在一个包装中编排&#xff0c;编排&#xff0c;录制&#xf…