嵌入式汇编学习笔记(二)----寄存器
来源:互联网 发布: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)定时器/计数器
- 嵌入式汇编学习笔记(二)----寄存器
- 汇编--学习笔记(一)-寄存器(二)
- 汇编学习笔记--寄存器
- 【汇编学习(二)】寄存器相关
- 汇编学习笔记:寄存器(内存访问)
- 汇编学习笔记[1]:寄存器
- 汇编学习笔记[1]:寄存器
- 汇编学习笔记--标志寄存器
- 汇编入门学习笔记 (二)—— 寄存器(内存访问)、栈
- 汇编学习笔记(二)
- 汇编--学习笔记(一)-寄存器(一)
- 汇编--学习笔记(一)-寄存器(三)
- 什么是寄存器——汇编学习笔记(一)
- 汇编入门学习笔记 (一)—— 基础知识、寄存器
- 汇编学习笔记--寄存器(内存访问 1)
- 8086汇编学习笔记2-寄存器
- 8086汇编学习笔记7-标志寄存器
- 汇编学习笔记---2.1通用寄存器
- Hadoop集群作业调度算法
- 【NOI 2004】 郁闷的出纳员
- js正则表达式限制文本框只能输入数字,小数点,英文字母
- SlidingDrawer抽屉组件
- 新手上路
- 嵌入式汇编学习笔记(二)----寄存器
- Linux内核模块编程入门-3(__init和__exit宏)
- AS3中的二维数组
- ARM架构处理器MT6572的LK(可以理解为UBOOT)uart串口驱动分析【代码注释】
- select、poll、epoll的比较(转自阿笨猫的窝)
- javascript继承机制
- [JAVA]探测 Lombok 工具
- SWT Designer(现名WindowBuilder Pro)的下载与安装
- 使用GifView在android上显示gif图片