堆栈、中断使能寄存器、分支指令

当你的程序需要响应中断或者调用子程序时,堆栈就是关键!它可以保护断点地址,并使用堆栈操作指令(push和pop)来保护和恢复场景。中断使能寄存器是控制CPU打开和屏蔽中断的核心部件。转移指令是程序控制流的重要组成部分。本文将深入讨论堆栈、中断使能寄存器和分支指令的相关知识。

仓库

当程序响应中断或调用子程序时,堆栈是关键。它可以保护断点地址,并使用堆栈操作指令(push和pop)来保护和恢复场景。进入堆栈时,先让SP+1,然后将内容压入当前SP指示的堆栈单元。弹出堆栈时,先将SP指示的内部ram单元的内容发送到直接寻址单元,然后让SP减去1。

中断使能寄存器

中断使能寄存器是控制CPU打开和屏蔽中断的核心部件。它决定每个中断源是否允许中断。这个结构包括EA(CPU中断总使能位)、es(串口中断使能位)、ET1(定时器1中断使能位)、EX1(外部中断1中断使能位)、ET0(定时器0中断使能位)和EX0(外部中断0中断使能位)。

自反秩序

转移指令是程序控制流的重要组成部分。LJMP是一条长分支指令,可以跳转到64KB程序内存的任意单元。SJMP是相对分支指令,其偏移量范围为-128~+127,***259字节。AJMP是绝对分支指令,其分支目标直接位于指令后的一个地址单元中。