MCS51cpu组成
MCS5 1 CPU主要由两个部分组成:操作员和控制器。算术设备的重点是ALU(心律失常逻辑单元),包括累加器,临时寄存器的TMP,寄存器B,PSW程序状态标志的寄存器和布尔处理器的状态标志。
作为CPU中最常使用的注册表,ACC累加器通常用于临时存档操作员并在执行算术和逻辑操作期间保存操作结果。
寄存器B主要用于乘法和部门操作。
PSW计划的国家标志登记册存储计算结果的特征,例如运输,贷款,溢出和平等。
控制器主要包括逻辑分配控制电路,指令寄存器,解码器,DPTR地址的情节,PC程序仪表,堆栈SP等。
程序计数器是1 6 位寄存器,用于按顺序执行程序。
恢复每个说明并自动添加1 个指示下一个指令。
PC的在执行传输指令时会更改,称为Subroutins或满足中断。
该说明是从ROM内存中删除的,并存储在说明寄存器中。
教育代码是在解码器的控制信号中解码的,并与CPU时钟脉冲相结合,以形成控制信息,以协调CPU数据的传输和功能。
Accummer ACC是一个八位寄存器,其功能暂时包括操作前的工作存储,并在操作后保存结果。
寄存器B主要用于乘法和部门操作。
状态标志的PSW状态标志的每个位都有特定的含义,例如CY传输标志(PSW.7 ),Ausciliary Ac Auxilly Flag(PSW.6 ),Overflow OV Flag(PSW.2 )和P(psw.0)平等标志。
CY传输标志表明在计算过程中是否存在运输位置或借用,Ausciliary AC传输标志表明四个较低位的半传输情况,溢出的OV标志反映了签名操作的结果是否溢出,并且平等标志P表示转化为累积器ACC ACC的操作的均等性。
PSW计划的状态词记录了程序执行期间有关状态的信息。
对于用户来说,CY传输标志,Auscilia Ausciliary Austive Flag,Overflow OV标志和PA标志P是最重要的四个位。
CY传输标志指示在计算结果的最高位中是否有运输位还是借用; Ausciliac Transfice Flag AC表示下部四位的半传输情况;溢出OV标志反映了签名操作的结果是否有溢出;相等的标志表示累加器ACC的均等性。
布尔处理器在算术中执行逻辑操作。
控制器中的PC程序计数器是1 6 位寄存器,用于程序的顺序性能。
每次接受教育以指示下一项指示时,该计划的计数器会自动增加1 个。
仅当发现转移教育,子例程电话或中断时,PC的才会改变。
指令从ROM内存中恢复,并存储在说明寄存器中。
解码器解码教育法规以生成控制信号,该信号与时钟脉冲结合CPU形成控制信息并协调CPU中CPU数据数据的传输和功能。
扩展信息MCS5 1 是指美国英特尔在美国生产的一系列微控制器的一般术语(顺便说一句,它是著名的英特尔)。
这一系列的微控制器包括许多品种,例如8 03 1 、8 05 1 、8 7 5 1 、8 03 2 、8 05 2 、8 7 5 2 等。
其中,8 05 1 是第一个也是最典型的产品。
该系列的其他微控制器均来自基于8 05 1 的添加,降低和更改功能。
因此,人们被用来使用8 05 1 来称呼MCS5 1 和8 03 1 系列的微控制器,是近年来我国家最受欢迎的微控制器,因此在许多情况下将看到8 03 1 的名称。
什么叫堆栈?8051堆栈指示器SP有多少位,作用是什么?单片机初始化话后SP中的是什么?
堆栈是遵循“第一个”原理的数据结构,主要用于存储寄存器或标志寄存器的。在内存中打开一个存储区域,并按顺序保存数据。
此过程称为“堆栈按压”。
当您按堆栈时,每次数据都添加到堆栈中,将其放置在上一个单元后面,并自动将堆栈指示器的地址添加到1 中。
读取数据将堆栈指示器的地址减少为一个,称为“弹出”。
在8 05 1 微控制器中,SP是一个8 位专用寄存器,指示内部RAM块的堆栈的最高位置。
重置系统后,SP初始化为07 h,堆栈实际上从08 H单元开始。
08 h至1 fh单元分别属于工作登记册区域1 至3 如果这些区域用于编程,则必须将SP值调整为1 FH或更高。
对于MCS-5 1 堆栈,它们是向上生成的。
如果SP = 6 0H,则CPU执行呼叫指令或答案中断后,PC进入堆栈,将PCL保护至6 1 h,PCH被保护为6 2 H,SP = 6 2 H。
在编程中,设置SP的价值合理地避免了与工作注册区域的冲突。
例如,如果您使用的是1 -3 的注册区域,请将SP设置为1 FH或更高,以确保堆栈不在这些区域之外。
此外,使用堆栈可以简化编程,尤其是当需要保存和还原寄存器时。
堆栈指示器SP的正确配置可确保高效且可靠的堆栈操作。
值得注意的是,使用堆栈对于编程微控制器很重要,尤其是在中断处理和子例程中。
正确的堆栈管理确保程序的稳定操作。
汇编语言寄存器都叫什么?
1 有1 6 个3 2 位寄存器,即:4 个数据寄存器(EAX,EBX,ECX,EDX)。2 索引和指针寄存器(ESI和EDI); 2 个指针寄存器(ESP和EBP)。
6 个细分寄存器(ES,CS,SS,DS,FS,GS)。
1 指令指针寄存器(EIP); 1 个标志寄存器(Eflags)。
2 数据寄存器数据寄存器主要用于保存信息,例如操作数和计算结果。
3 2 位CPU有4 个通用寄存器:EAX,EBX,ECX和EDX。
访问低1 6 位数据不会影响高1 6 位数据。
这些低1 6 位寄存器称为AX,BX,CX和DX,它们与上一个CPU的寄存器匹配。
4 个1 6 位寄存器可以分为8 个独立的8 位寄存器(AX:AH〜AL,BX:BH〜BL,CX:CH〜CL:DX:DH〜DL)。
每个寄存器都有自己的名称,可以独立访问。
程序员可以通过使用数据寄存器的“可组合和可分离”功能灵活地处理信息/字节信息。
AX和AL通常称为累加器。
用蓄能器进行的过程可能需要更少的时间。
累加器可用于乘法,部门,输入/输出过程,并且经常使用。
BX称为基本地址寄存器,可以用作内存指针。
CX称为计数器。
磨削和字符串操作时,它用于控制循环数。
如果是位操作,则在重新定位几位位时使用CL来显示位置的位数。
DX称为数据寄存器。
在进行乘法和部门流程时,它可以参与标准操作数的过程,还可以使用E/A的端口地址。
在1 6 位CPU中,AX,BX,CX和DX不能用作基本地址和索引寄存器来保存存储单元的地址。
在3 2 位CPU中,您的3 2 位寄存器EAX,EBX,ECX和EDX不仅可以保存数据,保存数据并提供算术逻辑逻辑操作,还可以作为指针。
因此,这3 2 位寄存器是普遍的。
3 索引寄存器3 2 位CPU具有两个3 2 位全能寄存器ESI和EDI。
在上一个CPU中,较低的1 6 位对应于Si和Di。
访问较低的1 6 位数据不会影响更高的1 6 位数据。
ESI,EDI,SI和DI被称为索引登记册。
它们主要用于保存段内存储单元的偏移。
您可以使用它们来实现多个内存运算符的地址方法,该方法可提供各种地址表格中的存储单元。
指示的寄存器在8 位登记册中是不可分割的。
作为一般寄存器,它还可以保存算术逻辑操作的操作数和操作结果。
它们可以用作通用存储指标,并在执行字符串操作的指令时对您有特定的要求,并且还具有特殊功能。
4 3 2 位CPU指针具有两个3 2 位全能寄存器EBP和ESP。
较低的1 6 位对应于先前CPU中的BP和SP。
访问较低的1 6 位数据不会影响更高的1 6 位数据。
EBP,ESP,BP和SP被称为指针寄存器,主要用于将堆栈中的存储单元储存偏移。
您可以使用它们来实现多个内存操作员的地址方法,该方法提供了以各种地址表格的存储单元的访问。
指针寄存器在8 位登记册中是不可分割的。
作为一般登记册,操作数和操作结果保存算术逻辑操作。
它们主要用于访问堆栈中的内存单元,并确定BP是可以直接访问堆栈中数据的基本指针寄存器。
SP是一个堆叠的指针寄存器,只能在堆栈的顶部访问它。
5 段寄存器片段寄存器是根据内存的管理模式确定的。
内存单元的物理地址由段寄存器的值和一个偏移量组成,因此可以将两个值与更少的位置结合到可以访问更大物理空间的内存地址。
3 2 位CPU的6 个片段寄存器如下:CS:Code-Snippet寄存器:附加片段寄存器DS:数据切口寄存器FS:附加片段寄存器SS:stack-snippet寄存器GS:附录Snippet Snippet寄存器寄存器1 6 位CPU系统。
在3 2 位的微型计算机系统中,它具有6 个细分寄存器,因此该领域的程序可以同时访问多达6 个段。
3 2 位CPU有两种不同的选择:保护模式。
细分寄存器的功能在每种模式下都不同。
相关法规简要描述如下:实际模式:细分寄存器CS,DS,ES和SS具有上一个CPU中相应细分寄存器的重要性。
存储单元的逻辑地址仍以“段地址:偏移地址”的形式。
为了在某个内存段中访问数据,必须使用段寄存器和存储单元的偏移地址。
保护方法:使用这种方法,情况要复杂得多。
段寄存器不再是段值,而是某个称为“ selectron”的值。
6 指令指针寄存器3 2 位CPU将命令指针扩展到3 2 位,并将其记录为EIP。
EIP的较低1 6 位行为以及上一个CPU中的IP。
指示指示EIP和IP保存下次要执行的指令段的偏移地址。
在具有预命令函数的系统中,只要发生传输,指令通常将在指令队列中设置。
因此,在理解其功能时,没有考虑说明队列的存在。
在实际模式下,由于每个细分市场的最大面积为6 4 kb,因此高1 6 位EIP肯定是0。
在这一点上,它仅对应于较低的1 6 -bit -IP,以反映程序中指令的执行顺序。
7 .标志寄存器1 总共有6 个,包括:CF Carry Flag位,PF -ParityBit,AF -Auxiliary Carry Flag,ZF Zero -Flag,SF符号标志和溢出标志。
2 状态控制标志。
总共有3 个,包括:TF跟踪标志,如果中断标志和DF方向标志。
上述标志位在第7 章中讨论了,因此我不会在这里解释它们。
现在,我将谈论在3 2 位标志寄存器中添加的4 型尺寸位。
1 IOPL。
IOPL由两位双董事显示,也称为E/A特权级别,该级别指定了需要执行E/A指令的授权级别。
如果当前特权级别在数值上或等于IOPL的值,则可以执行E/A语句,否则将发生保护性例外。
2 嵌套任务标志NT。
NT用于控制中断返回的执行。
特定法规如下:(1 )如果NT = 0,则存储在堆栈中以还原Eflag,CS和EIP以及常规中断返回操作