嵌入式汇编学习笔记(二)----寄存器

来源:互联网 发布:c语言从入门到精通好吗 编辑:程序博客网 时间:2024/05/19 03:29

1.一个典型CPU的构造

   一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。

   简单来说,在CPU中,运算器进行信息的处理;寄存器进行信息的存储;控制器控制各种器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。


2.寄存器的作用

   对于汇编程序员来说,CPU的主要部件就是寄存器。寄存器是CPU中程序员可以用指令读写的器件。所以学习汇编必须了解寄存器的知识。

 a)可将寄存器内的数据执行算术及逻辑运算;
 b)存于寄存器内的地址可用来指向内存的某个位置,即寻址;
 c)可以用来读写数据到电脑的周边设备。


3.寄存器的分类

   不同的CPU有不同的寄存器,下面只是对应于8086这类芯片的寄存器的分类

   a)数据寄存器

   b)指针寄存器

   c)变址寄存器

   d)控制寄存器

   e)段寄存器


4.MCS-51常用寄存器介绍


   a)累加器A

      累加器A是一个8位的累加器,是CPU中使用最频繁的一个寄存器,也可以写为Acc。

      累加器A的作用:

     (1)是ALU单元的输入之一,因而也是数据处理源之一。但它又是ALU运算结果的存放单元。

     (2)CPU中的数据传送大多都通过累加器A,故累加器A又相当于数据的中转站。由于数据传送大多都通过累加器,故累加器容易产生“堵塞”现象。所以MCS-51单片机增加了一部分可以不经过累加器的传送指令,这样既可以加快数据传送的速度,也可以减少累加器的“阻塞”现象。


   b)B寄存器

      寄存器B是为执行乘法和除法操作设置的。

      在乘法中,ALU的两个输入分别为A、B,运算结果存放在BA寄存器对中。B中放乘积的高8位,A中放乘积的低8位。

      在除法中,被除数取自A,除数取自B,商存放在A中,余数存放在B中。

      在不执行乘、除法操作的情况下,可把它当做一个普通寄存器使用


   c)程序状态字寄存器PSW

      它是一个8位可读写的寄存器,位于单片机片内的特殊功能寄存器区。PSW的不同位包含了程序运行状态的不同信息,在程序设计中也会经常与PSW的各个位打交道。

         

         

   

   d)程序计数器PC

      它是控制部件中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令的地址。

   e)堆栈指针SP

      堆栈是从片内RAM中开辟出来的一个区域,其主要是为子程序调用和中断操作而设立的。其功能有两个:保护断点和保护现场。

      堆栈指针SP是一个8位特殊功能寄存器,SP的内容只是出堆栈顶部在内部RAM块中的位置。

   f)数据指针DPTR

     它是16位的SFR

   g)端口P0~P3

      它们分别是I/O端口P0~P3的锁存器。

   h)串行数据缓冲器SBUF

      SBUF用于存放欲发送或已接收的数据,它在SFR块中只有一个字节地址,但物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,当要发送的数据传送到SBUF中,进的是发送缓冲器;接收时,外部来的数据存入接收缓冲器。

   i)定时器/计数器



原创粉丝点击