MCS-51单片机汇编语言的SP指令有什么作用?

作者&投稿:在全 (若有异议请与网页底部的电邮联系)
单片机汇编中DB指令起什么作用?~

DB 就是从当前地址开始,之后开始存放DB后面的字节数据。
DB 02,00,00 就是从当前地址开始依次存放 02H,00H,00H

  采用助记符表示的汇编语言指令格式如下:

  标号是程序员根据编程需要给指令设定的符号地址,可有可无;标号由1~8个字符组成,第一个字符必须是英文字,不能是数字或其它符号;标号后必须用冒号。
  操作码表示指令的操作种类,如MOV表示数据传送操作,ADD表示加法操作等。
  操作数或操作数地址表示参加运算的数据或数据的有效地址。操作数一般有以下几种形式:没有操作数项,操作数隐含在操作码中,如RET指令;只有一个操作数,如CPL A指令;有两个操作数,如MOV A,#00H指令,操作数之间以逗号相隔;有三个操作数,如CJNE A,#00H,NEXT指令,操作数之间也以逗号相隔。
  注释是对指令的解释说明,用以提高程序的可读性;注释前必须加分号。

MCS-51单片机汇编语言中,没有SP这条指令,只有针对SP操作的指令。51单片机中SP是堆栈指针寄存器,存放着当前堆栈地址。堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值。
除了初始化堆栈时直接给SP赋值,SP显式存在,其它的对SP有影响的指令,对SP的操作都是隐式的,就是说SP并不出现在指令操作数当中。
例如:
MOV SP,#80H ;初始堆栈指针,(SP)=80H
LCALL XXXX;调用XXXX处的子程序,下一条指令PC值压栈,(SP)=(SP)+2
NOP;子程序返回时,RET指令从堆栈中弹出PC值,所以会返回到这里,(SP)=(SP)-2
PUSH ACC;累加器A的内容压栈保存,(SP)=(SP)+1
POP B;堆栈内保存的累加器A的内容弹出到B寄存器中,(SP)=(SP)-1

使用PUSH、POP指令使用堆栈,要注意进出栈的匹配,否则将引起不可预期的后果。


麻烦高手帮我解释一下这个汇编程序
你列出的那个代码是51单片机的代码,使用的是51的编译器。单片机的构架和计算机CPU构架差别特别大,在编写汇编语言的语法、结构也不相同,所以你不要用x86汇编的内容来看待51单片机的汇编,51的汇编比x86简单多了。因此其中的 CS_T和CS_T1只是程序中使用的标号,表示一段程序的开始,没有其他意思。相对...

单片机汇编程序实现DA转换,用DAC0832芯片实现
\/\/0832各种波型输出演示 \/\/P1.1P1.0 = 00时 正弦波 \/\/P1.1P1.0 = 01时 锯齿波 \/\/P1.1P1.0 = 10时 方波 \/\/P1.1P1.0 = 11时 三角波 \/\/需要连接的导线:\/\/(1)译码器Y0接DAC0832的CS \/\/(2)P3.6即XWR插孔接DAC0832的WR \/\/(3)8芯的排线连接8排针的P0口...

MSC51和89C51有什么区别
MCS51系列单片机是美国Intel公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是在片内程序存储器方面。8051的片内程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器的4KB的EP...

51单片机汇编程序如下 为什么一直都是p1.0为低电平啊 我设置的是循环啊...
延时程序出错了DELAY:MOV R2,#20 D1:MOV R3,#20 MOV R4,#248 DJNZ R4,DJNZ R3,D1 DJNZ R2,DELAY RET 应改为 DELAY:MOV R2,#20 D1:MOV R3,#20 D2: MOV R4,#248 DJNZ R4,DJNZ R3,D2 DJNZ R2,D1 RET 不改的话你的程序永远跳不出循环,你的P2.0口,永远是低电平,而且不会...

何为端口?何为接口?在MCS51单片机中端口是如何扩展的?
接口,通信的两个机器的相同层次的实体叫做同层进程,它们之间的通信使用的各种约定统称协议,相邻层之间的约定称为接口。扩展方法:CS-51单片机的I\/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行联系。在51单片机中扩展的I\/O口采用与片外数据存储器相同的寻址方法,所有扩展的I\/O口,以及...

80C51单片机原理、开发与应用实例的目录_80c51单片机内部结构的组成_百 ...
第2章80C51单片机硬件结构和原理 2.180C51的基本结构 2.1.180C51的基本结构框图 2.1.2芯片的内部结构特点 2.280C51的引脚及其功能 2.2.1电源引脚V和Vss 2.2.2时钟电路引脚XTALl和XTAL2 2.2.3控制信号引脚ALE、PSEN、EA和RST 2.2.4输入\/输出引脚 2.380C51CPU结构和时序 2.3.1运算器 2...

那位大侠给一个51单片机汇编语言的看门狗程序,详细一点啊
看门狗在51单片机电路里的作用是防止程序 “跑飞”、“死机”后,系统不动作,而采取复位的办法“唤醒”系统。89S51、89S52系列单片机自带有看门狗功能,片内数据区A6H寄存器具有看门狗功能,使用很简单:include<reg51.h> ...sfr WDTRST = 0xA6;...void main(){ WDTRST=0x1E;;\/\/初始化看门狗 WDT...

请问89cs51单片机的控制总线有几根?每一根控制线的作用是什么?_百度...
51单片机有 ALE、 \/PSEN、 \/WR、 \/RD四根控制总线。16根地址总线,8根并行数据总线。 ALE是地址锁存使能,\/PSEN外部程序存储器(ROM)访问使能,\/WR外部数据存储器(RAM)“写”使能,\/RD外部数据存储器(RAM)“读”使能。 也有把EA也列入控制总线的,但由于EA是硬件接线所决定的,不是程序运行中...

M-CS51系列单片机中,访问外部程序存储器时,PC的低8位地址由p0口输出,PC...
再说原因:这个答案只对MCS-51单片机是对的,再准确一点说是对8031单片机是对的。好了,说正题,8031单片机需要外配程序存储器,当访问外部程序存储器时,存储器的地址是由PC给出的,而需要从P0口输出低8位,从P2口输出高8位,确实一点没有错。原因是你的理解不全面,只考虑了在访问外部数据存储器...

AT89S51单片机八路抢答器工作原理
CS-51单片机特点如下: 1> 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU ,程序指令和数据都可以烧写在ROM许多信号通道都在同一芯片,因此可靠性高。 2> 易扩充:单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统 3> 控制功能强:单片机指令...

上饶县15925308941: 51单片机的堆栈指针sp始终是指向 -
鞠战降脂: mcs-51单片机汇编语言中,没有sp这条指令,只有针对sp操作的指令.51单片机中sp是堆栈指针寄存器,存放着当前堆栈地址.堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值. 除了初始化堆栈...

上饶县15925308941: MCS - 51单片机汇编语言的SP指令有什么作用? -
鞠战降脂: 设置了堆栈的栈底,以后就在此地址的上面,作为堆栈空间; 其它指令,一般来说是 不应该 再使用这片地址. ---- 把30H赋给了SP,称为设置栈底.以后: PUSH ACC ,就把ACC的内容存放到31H单元; PUSH PSW ,就把PSW的内容存放到32H单元; PUSH B ,就把B的内容存放到33H单元. …… 弹出时,要用POP指令. 利用堆栈,就不用管具体的内容存放在什么单元了,SP会自动管理.

上饶县15925308941: 什么是堆栈,51单片机堆栈指针SP的使用 -
鞠战降脂: 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场.要点:堆,队列优先,先进先出(FIFO—first in first out)[1] .栈,先进后出(FILO—First-In/Last-Out).

上饶县15925308941: 关于51汇编,子程序返回指令 -
鞠战降脂: MCS-51单片机汇编语言中,没有SP这条指令,只有针对SP操作的指令.51单片机中SP是堆栈指针寄存器,存放着当前堆栈地址.堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值.除了初始化堆...

上饶县15925308941: SP在单片机中是什么寄存器有什么作用 -
鞠战降脂: 你没有说是什么单片机产品,各单片机定义不同. 如果是MCS-51单片机,SP指的是堆栈指针寄存器Stack Pointer,指示堆栈的栈顶地址,定位要入栈或出栈的数据的存放位置.

上饶县15925308941: 简述MCS—51汇编语言指令格式? -
鞠战降脂: 采用助记符表示的汇编语言指令格式如下:标号是程序员根据编程需要给指令设定的符号地址,可有可无;标号由1~8个字符组成,第一个字符必须是英文字,不能是数字或其它符号;标号后必须用冒号. 操作码表示指令的操作种类,如...

上饶县15925308941: MCS - 51单片机的PC称作?SP称作? -
鞠战降脂: PC 程序计数器 SP 堆栈指针

上饶县15925308941: MCS - 51单片机中的PUSH POP指令. -
鞠战降脂: 经过压栈PUSH的操作: MCS-51单片机中堆栈的地址是越来越大; 80x86的堆栈的地址是越来越小.指向栈底,还是栈底地址减一? --按照51、或者86的不同规律,推算即可.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网