通用寄存器和专用寄存器有什么区别和联系
对于8086的系统:
1.寄存器按照功能的不同可分为通用寄存器(AX,BX,CX,DX,SP,BP,SI,DI。其中的前四个寄存器可分别分成AH,AL ;BH,BL;CH,CL;DH,DL的八位寄存器)、指令指针寄存器(IP)、标志寄存器(FLAGS)、段寄存器(CS,DS,ES,SS)。它们的区别和联系体现在它们的功能上,对它们的深入了解和正确运用需要通过编写程序来实现。
2.大致功能如下:
AX,可存放一般数据,而且可作为累加器使用;
BX,可存放一般数据,而且可用来存放数据的指针(偏移地址),常常和DS寄存器连用;
CX,可存放一般数据,而且可用来做计数器,常常将循环次数用它来存放;
DX,可存放一般数据,而且可用来存放乘法运算产生的部分积,或用来存放输入输出的端口地址(指针);
SP,用于寻址一个称为堆栈的存储区,通过它来访问堆栈数据;
BP,可存放一般数据,用来存放访问堆栈段的一个数据区,作为基地址;
SI,可存放一般数据,还可用于串操作中,存放源地址,对一串数据访问;
DI,可存放一般数据,还可用于串操作中,存放目的地址,对一串数据访问;
IP,用于寻址当前需要取出的指令字节,程序员不能对它直接操作;
FLAGS,用于指示微处理器的状态并控制它的操作;
CS,代码段寄存器,代码段是一个存储区域,存放的是CPU要使用的代码,CS存放代码段的段基地址;
DS,数据段寄存器,数据段是包含程序使用的大部分数据的存储区,DS中存放数据段的段基地址;
ES,附加段寄存器,附加段是为某些串操作指令存放目的操作数而附近的一个数据段,ES中存放该数据段的段基地址;
SS,堆栈段寄存器,堆栈段是内存中一个特殊的存储区,用于暂时存放程序运行时所需的数据或地址信息。SS中存放该存储区的段基地址。
基本功能就是这些,要想透彻掌握深层的寄存器功能,必须要编写汇编源程序,可用微软的masm汇编程序进行编译,用dos系统自带的debug命令调试,直到程序正确运行,才能体会其中的奥妙。
最后,还是用我的导师给我的一句话吧:“记住,学好汇编语言最重要的环节永远是上机调试出正确程序!”
共勉!
线性移位寄存器的级数是怎么定义的具体说明
的线性反馈移位寄存器(LFSR)是一种机制,用于产生一个二进制比特序列。该寄存器设置初始化向量一系列的信件中,最常见的是关键要素。该寄存器的行为是一个时钟调整。每个定时,该寄存器单元中的内容被移动到一个正确的位置,仇外或字母的子空间被放置在最左边的单元格内内容的组。A位的输出通常是从整个更新过程。的LFSR的应用包括生成的伪随机数,伪噪声序列,快速数字计算器和灰数序列。软件和硬件实现的LFSR的是相同的。
线性反馈移位寄存器特征方程f(x)=x4+x3+1,写出初始状态1110下输出m序列(4,3为次方)
f(x1,x2,x3,x4)=-c4x1-c3x2-c2x3-c1x4
f(x)=x4+x3+1 所以a5=-0*a4-0*a3-1*a2-1*a1
=-a2-a1
=a2+a1
初始状态1110 (1:a1,1:a2,1:a3,0:a4)
所以:1110 0010 0110 1011 1100 0100 1110 0010 0110 1011 1100 0100 1101 0111 1000 1001 1010 1111 0001 0011 0101 1110
所以m序列:1110 0010 0110 1011 1100 0100 1110 0010 0110 1011 1100 0100 1101 0111 1000 1001 1010 1111 0001 0011 0101
-通用寄存器