【MCS-51单片机汇编语言】期末复习总结①——常见指令汇总(题型一)

news2025/1/13 13:49:16

文章目录

  • 七大寻址方式
  • 重要指令
    • 转移
    • 堆栈
    • 位操作
    • 跳转
    • 条件转移
    • 子程序
    • 常考题型

在这里插入图片描述

七大寻址方式

  • 立即寻址:通过一个立即数来指定存储单元的地址,例如#41H;
  • 寄存器寻址:Rn(n=0~7),A,B,DPTR,C;
  • 直接寻址:通过存储单元的地址本身来访问数据,例如地址3AH;
  • 寄存器间接寻址:通过一个指针变量来访问存储单元的数据,例如@Ri (i=0或1) 、 @DPTR;
  • 变址寻址:@A+PC、@A+DPTR;
  • 相对寻址:rel(相对偏移量);
  • 位寻址:00H-25H.5(.5表示第五位)、TCON.3(TCON的第三位)、CY(进位标志位);

重要指令

转移

  • MOV (片内RAM)
    • MOV A, Rn;(Rn) -> (A)
  • MOVX(片外RAM)
    • MOVX A, @DPTR; ((DPTR)) -> (A)
  • MOVC(ROM)
    • MOVC A, @A+DPTR;((A)+(DPTR)) -> (A)

堆栈

  • PUSH direct;(sp)+1 - > (sp), (direct) -> ((sp))
  • POP direct;((sp)) -> (direct), (sp)-1 -> (sp)
    在这里插入图片描述

sp为栈顶指针,指向栈顶元素)

  • ADD(直接加)
    • ADD A, Rn; (A) + (Rn) -> (A)
  • ADDC(考虑进位标志位)
    • ADDC A, Rn; (A) + (Rn) + (CY) -> (A)
  • INC(自加1)
    • INC A; (A) + 1 -> (A)

  • SUBB(默认考虑进位标志位)
    • SUBB A, Rn; (A) - (CY) - (Rn) -> (A)
  • DEC(自减一)
    • DEC A; (A) -1 -> (A)

  • MUL AB; (A)*(B) -> A存结果的低 8 位,B存高 8 位;

  • DIV AB; (A) / (B) -> A存商,B存余数;

位操作

  • ANL(按位与)(都是1,才为1)

    • ANL A, Rn;结果给A
      在这里插入图片描述
  • ORL(按位或)(只要有1,就为1)

    • ORL A,Rn;结果给A
      在这里插入图片描述
  • XRL(按位异或)(相同为0,相异为1)

    • XRL A, Rn;结果给A

在这里插入图片描述

  • SETB(置1)
    • SET C;1 -> ( C )
  • CLR(清零)
    • CLR A;0 -> (A)
  • CPL(取反)
    • CPL A

在这里插入图片描述

  • RL(循环左移)

在这里插入图片描述

  • RR(循环右移)

跳转

  • LJMP(跳转到某个地址开始执行)
    • LJMP addr16;addr16 -> (PC)
  • SJMP(与上相同)
  • AJMP(与上相同)

(三者任选其一即可)

条件转移

  • JZ rel;(A)全0,跳转,否则顺序执行
  • CJNE A, #data, rel;(A) != data 就跳转
  • DJNZ Rn, rel;(Rn) - 1 -> (Rn),若(Rn) != 0就跳转

子程序

  • ACALL(子程序调用)
    • ACALL addr11
  • RET(子程序返回)
    • RET; ((sp)) -> (PCH) (sp) -1 -> (sp);((sp)) -> (PCL) (sp) -1 -> (sp)

常考题型

给出一个程序,求程序结束后,一些寄存器的值。例如:

  • 下面程序执行后(SP)、(A)、(B)各位多少?

      		ORG	2000H
      		MOV	SP,	#40H
      		MOV	A,	#30H
      		LCALL		2500H
      		ADD	A,		#10H
      		MOV	B,		A
      HERE:	SJMP HERE
      		ORG	2500H
      		MOV	DPTR,		#2008H
      		PUSH	DPL
      		PUSH	DPH
      		RET
    

在这里插入图片描述

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

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

相关文章

自学软件测试,一般人我劝你还是算了吧

软件测试自学是完全可以的,但是这句话并不代表人人都可以自学。 想转行软件测试,纯自学会遇到以下8个问题: 1、自学需要很高的自律性,你能做到吗? 2、自学在学习过程中会碰到很多困难,你都能解决吗&#xf…

直播入门手册

直播除了带货,现在越来越成了分享知识,增近主播和粉近距离互动的平台。最近看到抖音上越来越多的主播进行编程经验的分享,这是一个很好的传播知识的方式,以前我们学习编程技术一般看视频,其实视频的互动性没有直播那么…

智能家居数据分析:语音交互为用户偏好模式,使用最高达72%

哈喽大家好,近些年来,智能家居行业的发展无比迅速,同时,最近两年来人工智能技术的不断突破,对智能家居有着无与伦比的推动力。本期将为大家介绍下智能家居的行业形势。 通过数据可视化平台把报表数据处理后展示出来的…

(4)NUC980 RootFs

Buildroot是一个开源的嵌入式Linux系统构建工具,它可以帮助用户自动化构建Linux系统的各个部分,包括Linux内核、库、文件系统、应用程序等。通过Buildroot,用户可以根据需要选择和配置所需的软件包,从而构建一个定制化的Linux系统…

Nginx网站服务——编译安装及系统服务添加

Nginx网站服务——编译安装及系统服务添加 一、Nginx的相关知识1.Nginx的简介2. Apache与Nginx的区别3.Apache的优势4.Nginx的优势 二、Nginx编译安装1.关闭防火墙,将安装nginx所需软件包传到/opt目录下2.安装相关的依赖包3.创建运行用户、组4.编译安装Nginx5.检查、…

【Rust学习】web框架 Axum,提供REST API

cargo-watch:有修改就重启服务器,类似java web的热部署 安装:cargo install cargo-watch 使用:cargo watch -x run 这样每次有修改就会自动重启web服务 vscode插件Thunder Client(类似postman) hello,world 建议用cargo add的方式添加 […

视频压缩存储解决方案

一、背景介绍 随着视频技术的不断发展,人们对视频质量和存储需求的要求也越来越高。而视频文件的大小往往会给存储和传输带来诸多困扰。因此,如何有效地压缩视频文件成为了一个非常重要的问题。 二、压缩算法简介 有损压缩:通过去除视频中的…

SpringBoot3整合SpringSecurity,实现自定义接口权限过滤

接口权限过滤是指对于某些接口或功能,系统通过设定一定的权限规则,只允许经过身份认证且拥有相应权限的用户或应用程序进行访问和操作。这种技术可以有效地保护系统资源和数据安全,防止未授权的用户或程序进行恶意操作或非法访问。通常情况下…

广州华锐互动:智能虚拟人运用到短视频行业能带来哪些价值?

随着科学技术的不断发展,虚拟数字人呈现飞跃式发展,各式各样的虚拟数字人进入到我们的视野,而同样作为新风口的短视频行业,也成为了人们日常生活中不可或缺的一部分。那么,将这两者结合起来会带来哪些变化呢&#xff1…

C#开发串口调试助手实现modbusRTU通信

今天给大家搞个项目,跟我来,走过路过不要错过,看大V如何玩C#工业软件开发,搞事的目的是:掌握MODBUSRTU通信协议,掌握简单型串口调试助手开发,掌握串口通信过程 硬件产品:串口RS232温…

中移链资源管理介绍

中移链是基于EOS底层框架,在满足我国信息化监管需求、合规可控的前提下,打造的中国移动区块链服务平台。在中移链中主要包括CPU、RAM和NET三种资源。CPU资源是用于执行智能合约的计算能力,RAM资源用于存储智能合约和其它数据,NET资…

【京东API】京东app获得JD商品详情原数据接口

京东是中国最大的综合型电商网站之一,其app端是用户购买商品的主要途径之一。为了更好地满足用户的需求,开发人员提供了商品原数据接口,让第三方开发者可以获取京东商品的详细信息。 开发背景: 随着移动设备用户数量的不断增加&a…

2023最新 如何修改appstroe的开发者名称?

1、输入账号密码登录 http://itunesconnect.apple.com 2、点击app 3、点击我的账户account 4、页面往下滑动,点击更新信息 5、点击提供更新信息 6、根据需要修改新的信息 Hello, I want to change the company name in Chinese, according to changed to “xxx…

MySQL内存

结构 xtradb-innodb-internals-in-drawing InnoDB存储引擎体系结构 内存结构与磁盘结构 InnoDB存储结构 内存相关参数 在MySQL中,可以通过一些参数来控制内存的使用和管理。以下是一些常用的控制内存的参数: innodb_buffer_pool_size: 这是控制InnoD…

商场室内导航制作,商场导览图怎么做的?

商场导览图怎么做的?现在很多商场都比较大,往往需要借助地图才能快速找到想要去的店铺,比如在商场大厅展示商场楼层规划以及楼层具体商户等,让消费者了解商场的整体结构,有逛下去的欲望。重点标记出逃生通道、厕所、进…

是时候搭建一个自己的ChatGPT 了!

ChatGPT客户端-ChatBox https://github.com/Bin-Huang/chatbox 开源的 ChatGPT API (OpenAI API) 跨平台桌面客户端,Prompt 的调试与管理工具,也可以用作 ChatGPT Plus 平替。 如需找不到下载地址,可以私信留言。 ChatGPT Next Web https…

MySQL 自增列使用上的一些 “坑”

文章目录 前言1. 自增列空洞1.1 手动指定2.2 分配未使用 2. 自增列监控2.1 sys 库监控2.2 通用查询 3. 一些 BUG3.1 重启失效3.2 冲突问题 前言 MySQL 的规范中,一般都会建议表要有主键,常使用自增列作为主键字段,这和 MySQL 属于聚簇索引表…

【FlatpanelsHD】HDR生态系统追踪器

Dolby Vision被称为Profile 8.4,与基于pq(杜比实验室开发的感知量化技术,也是无处不在的HDR10的基础)的所有其他口味不同,它基于HLG或Hybrid Log Gamma,由BBC和NHK开发,主要用于电视直播。 用HLG捕捉HDR视频的相机并不…

选择自动化测试工具的主要考虑点是什么?

在软件开发生命周期中,测试是非常重要的一部分。测试的目的是确保软件系统的质量和可靠性。而随着软件开发越来越复杂,传统的手动测试方式已经无法满足测试的要求。自动化测试工具的出现就为测试工作提供了更高效、更准确的解决方案,那选择自…

基于AT89C51单片机的6位电子密码锁详细设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87855657?spm=1001.2014.3001.5503 源码获取 目录 1绪论 1 1.1 课题背景 1 1.2 课题设计目标 1 2系统方案论证 2 2.1 主控部分的选择 2 2.2 密码输入方式的选择 2 3 系统总体…