当前位置:首页 > 单片机 > 单片机
[导读]通过前面的学习,我们对单片机的硬件结构已有了一定的了解,下面,我们将与大家一起来学习单片机的汇编指令系统。所谓指令,就是规定计算机进行某种操作的命令。计算机按程序一条一条地依次执行指令,从而完成指定任

通过前面的学习,我们对单片机的硬件结构已有了一定的了解,下面,我们将与大家一起来学习单片机的汇编指令系统。

所谓指令,就是规定计算机进行某种操作的命令。计算机按程序一条一条地依次执行指令,从而完成指定任务。一条指令只能完成有限的功能,为使计算机完成一定的或者复杂的功能,就需要一系列指令。

一般来说,一台计算机的指令越丰富,寻址方式越多,且每条指令的执行速度越快,则它的总体功能就越强。

程序设计语言:机器语言,汇编语言,高级语言

我们学习的80C51单片机共有111条指令,这111条指令共有七种寻址方式。其中:

数据传送类指令 29条

算术运算类指令 24条

逻辑运算及移位类指令 24条

控制转移类指令 17条

位操作指令 17条

这111条指令的具体功能我们在后面的课程中将会逐条的与大家进行分析。

由于计算机只能识别二进制数,所以计算机的指令均由二进制代码组成。为了阅读和书写的方便,常把它写成十六进制形式,通常称这样的指令为机器指令。现在一般的计算机都有几十甚至几百种指令。显然即便用十六进制去书写和记忆也是不容易的,为了便于记忆和使用的方便,制造厂家对指令系统的每一条指令都给出了助记符。

助记符是根据机器指令不同的功能和操作对象来描述指令的符号。由于助记符是用英文缩写来描述指令的特征,因此它不但便于记忆,也便于理解和分类。这种用助记符形式来表示的机器指令称为汇编语言指令。汇编语言有如下特点:

① 助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。

② 使用汇编语言编程比使用高级语言困难。因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。

③ 汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能直接管理和控制硬件设备。④ 汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用。

汇编指令的格式MCS-51汇编语言的语句格式表示如下:

〔<标号>〕:<操作码>〔<操作数>〕;〔<注释>〕

即一条汇编语句是由标号、操作码、操作数和注释四个部分所组成,其中方括号括起来的是可选择部分,可有可无,视需要而定。

指令通常两部份组成:操作码、操作数

操作码:是由助记符表示的字符串,操作码其实就是告诉我们这条指令是起什么样的一个功能,是加?减?传送?还是控制?等等。

操作数:是指参加操作的数据或者是数据地址。

注释:为了便于我们阅读程序,通常我们在指令的后面都会加上注释。

标号:用来表示子程序名称或程序执行条件跳转时的程序跳转地址,实际上是表示一个地址值。

在80C51指令系统中,操作数可以是1、2、3个,也可以没有。不同功能的指令,操作数作用也不同。

例如,传送类指令多数有两个操作数,写在左面的称为目的操作数(表示操作结果存放的单元地址),写在右面的称为源操作数(指出操作数的来源)。

操作码与操作数之间必须用空格分开,操作数与操作数之间必须用逗号&ldquo;,”分开。带方括号的项可有可无,称为可选项。

由指令格式可见,操作码是指令的核心,不可缺少。例如一条传送指令的书写格式如为:MOV A,3AH ;(3AH)A它表示将3AH存储单元的内容送到累加器A中。

指令的长度所谓指令的长度,就是描述一条指令所需要的字节数,用一个字节能描述的指令我们叫1字节指令,同理,用两个字节描述的叫2字节指令,用三个字节描述的指令就叫3字节指令。

在这里我们对80C51的111条指令进行了分类:1字节指令共有49条,2字节指令共有45条,3字节指令共有17条,到底哪条指令是1字节、2字节或者3字节指令,在我们后面的指令表中都可以查阅到的。这里有一个问题请大家引起注意,在前面的课程中,我们学习过指令计数器PC,PC是一个16位的计数器,那么这个指令计数器是怎样来计数的呢?

我们的指令有1字节、2字节、3字节指令。是不是每执行一个字节,这个指令计数器PC就自动加1?答案是错误的!!实际上,PC始终是跟踪着指令的,并不是以字节数来相加。在我们存放程序的ROM中,是一个字节一个字节的向后执行,但程序计数器PC并不是每加一个字节就加1,它是对特定的某一条指令执行完了之后,相应的程序计数器PC才加1,那么这条指令可能是1个字节,也可能是2个或者3个字节。这个大家要引起重视。

在学习指令系统时,先要了解某些符号的意义,现说明如下:

Rn :当前选中的工作寄存器组R0-R7(n=0-7)。它在片内数据存储器中的地址由PSW中的RS1和RS0确定,可以是00H-07H(第0组)、08H-0FH(第1组)、10H-17H(第2组)、18H-1FH(第3组)。

Ri :当前选中的工作寄存器组中可作为地址指针的两个工作寄存器R0和R1(i=0或i=1)。它在片内数据存储器中的地址由RS0及RS1确字,分别为00H、01H;08H、09H;10H、11H;18H、19H。

Direct :8位片内RAM单元(包含SFR)的直接地址

#data :代表指令中8位的常量数据

#data16 :代表指令中16位的常量数据

addr16 :LCALL与LJMP所使用的16位目的地址

addr11 :ACALL与AJMP所使用的11位目的地址

rel :指程序遇条件跳跃时的相对地址,往前最多可以跳128个字节,往后最多可以跳127个字节。

bit :特殊目的寄存器或内部数据RAM中可直接寻址的位。

@ :间接寻址方式中,表示间址寄存器的符号

/ :位操作指令中,表示对该位先取反再参与操作,但不影响该位原值。

X :片内RAM的直接地址或寄存器

(X) :在址接寻址方式中,表示直接地址X中的内容;在间接寻址方式中,表示由间址寄存器X指出的地址单元中的内容。

→ :指令操作流程,将箭头左边的内容送入箭头右边的单元内。

← :指令操作流程,将箭头右边的内容送入箭头左边的单元内。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2025年8月15日 /美通社/ -- 今日,以"破局者 • 智行合璧"为主题的2025戴尔科技峰会在北京中国大饭店盛大启幕。作为戴尔科技大中华区极具战略意义的年度旗舰活动,本届峰会吸引逾千名行业...

关键字: 戴尔 全栈 PC ALIENWARE

北京2025年7月31日 /美通社/ -- 近日,权威咨询机构德本咨询重磅发布"2025中国信创PC市场影响力品牌TOP 10"榜单。软通计算机凭借其迅猛的发展势头、领先的技术整合能力及显著的市场表现...

关键字: 计算机 TOP PC PC市场

控制寄存器(Control Register)是中央处理器(CPU)中用于管理系统级操作的特殊寄存器,它为操作系统和硬件提供对处理器行为的精细控制。本文从计算机体系结构角度系统阐述控制寄存器的设计原理、功能分类、操作机制...

关键字: 寄存器 处理器

在十年间,3D深度感知市场规模将实现超过2倍的增长,而我们正处于这场变革之中。据Yole数据,2020年这3D深度感知市场规模为67亿美金,2024年为95亿美金,而2030年将达到176亿美金。整个3D深感市场出现了爆...

关键字: AI PC HPC 人体检测 ToF VL53L8CP

Holtek推出新一代无刷直流电机 (BLDC) 控制专用单片机 HT32F65233。采用 Arm® Cortex®-M0+ 低功耗内核, 具备 2.5 V~5.5 V 宽电压操作。系统电压为 5 V 时,可获得更高的...

关键字: BLDC单片机 电机驱动 计数器

6月23日消息,根据IDC最新发布的《中国PC显示器市场季度跟踪报告》,2025年一季度中国PC 显示器市场总出货量707万台,同比增长14.0%。

关键字: PC DDR4 显示器

德国汉堡 2025年6月10日 /美通社/ -- 作为专业的服务器设计与制造商,神达控股股份有限公司(股票代号:3706)旗下子公司神雲科技股份有限公司(MiTAC Computing Technology Corpo...

关键字: MIT 高性能计算 PC HP

6月5日消息,据TrendForce集邦咨询最新报道,受多重因素影响,2025年第二季度PC DDR4模组合约价格预计将上涨13%-18%,涨幅较此前预计的3%-8%明显扩大,而Server DDR4模组价格预计季增18...

关键字: PC DDR4

在嵌入式系统开发中,硬件抽象层(Hardware Abstraction Layer,HAL)起着至关重要的作用。它为上层软件提供了统一的硬件访问接口,隐藏了底层硬件的细节,使得软件具有更好的可移植性和可维护性。C++作...

关键字: 嵌入式C++ HAL 寄存器 封装

采用51单片机最小开发板,由8位自制独立按键控制。单片机芯片为STC89C52RC,晶振为@12.000 mhz。8X8LED点阵屏模块由MAX7219驱动,MAX7219包含一个自动扫描电路。你只需要把要显示的数据发送...

关键字: 51单片机 MAX7219 寄存器
关闭