第10章 数据处理指令与移位寄存器
- 格式:ppt
- 大小:1.75 MB
- 文档页数:46
移位寄存器移位寄存器是暂时存放数据的部件,同时它还具有移位功能。
一、特点和分类从逻辑结构上看,移位寄存器有以下两个显著特征:(1)移位寄存器是由相同的寄存单元所组成。
一般说来,寄存单元的个数就是移位寄存器的位数。
为了完成不同的移位功能,每个寄存单元的输出与其相邻的下一个寄存单元的输入之间的连接方式也不同。
(2)所有寄存单元共用一个时钟。
在公共时钟的作用下,各个寄存单元的工作是同步的。
每输入一个时钟脉冲,寄存器的数据就顺序向左或向右移动一位。
通常可按数据传输方式的不同对CMOS移位寄存器进行分类。
移位寄存器的数据输入方式有串行输入和并行输入之分。
串行输入就是在时钟脉冲作用下,把要输入的数据从一个输入端依次一位一位地送入寄存器;并行输入就是把输入的数据从几个输入端同时送入寄存器。
在CMOS移位寄存器中,有的品种只具有串行或并行中的一种输入方式,但也有些品种同时兼有串行和并行两种输入方式。
串行输入的数据加到第一个寄存单元的D端,在时钟脉冲的作用下输入,数据传送速度较慢;并行输入的数据一般由寄存单元的R、S端送入,传送速度较快。
移位寄存器的移位方向有右移和左移之分。
右移是指数据由左边最低位输入,依次由右边的最高位输出;左移时,右边的第一位为最低位,最左边的则为最高位,数据由低位的右边输入,由高位的左边输出。
移位寄存器的输出也有串行和并行之分。
串行输出就是在时钟脉冲作用下,寄存器最后一位输出端依次一位一位地输出寄存器的数据;并行输出则是寄存器的每个寄存单元均有输出。
CMOS移位寄存器有些品种只有一种输出方式,但也有些品种兼具两种输出方式。
实际上,并行输出方式也必然具有串行输出功能。
表1表1是CMOS移位寄存器的分类。
二、常用CMOS移位寄存器简介1.串入-串出移位寄存器CD4006图1是18位移位寄存器CD4006的逻辑框图和引脚功能图。
由图可见,CD4006由四组移位寄存器组成,其中的两组为4位,每组有一输出端,由最高位引出。
––触发器和时序逻辑电路219 第9单元输出端为正常逻辑状态,可用来驱动总线或负载;当1OE 或2OE 为高电平时,输出为高阻状态。
数据选通端12IE IE 、可控制数据是否进入触发器,当它们为低电平时,在时钟脉冲CP 上升沿作用下,数据0123D D D D 被送入相应的触发器。
(二)移位寄存器1.移位寄存器在进行数据计算时,常常要求将数据左移或右移,具有移位功能的寄存器称为移位寄存器。
“移位”是指在CP 脉冲的作用下将数码逐位移动。
按照在移位脉冲CP 作用下移位情况的不同,将移位寄存器分为单向移位(右移是高位向低位移动,左移是低位向高位移动)和双向移位两大类。
(1)4位右移移位寄存器电路如图9-31所示,它由4个上升沿触发的D 触发器构成。
右移移位寄存器的电路结构是:各高位触发器的输出端Q 连接至相邻低位触发器的输入端D ,最高位触发器的输入端D 3为待存数据送入端(从低位到高位逐位输入),最低位触发器的输出端Q 0为寄存器串行输出端。
图9-31 4位右移移位寄存器电路4位待存的数码从触发器F 3的数据输入端D 3输入,CP 为移位脉冲输入端。
待存数码在移位脉冲的作用下,从低位到高位依次串行送到D i 端。
若要将数码D 3D 2D 1D 0(1011)存入寄存器,在存数操作之前,先用D R (负脉冲)将各个触发器清零。
然后,将数码1011依次加到最高位寄存器的输入端。
根据数码右移的特点,在移位脉冲的控制下应先输入最低位D 0,然后从低到高,依次输入D 1、D 2、D 3。
当输入数码为1011时,移位情况见表9-15。
表9-15右移寄存器的状态表 CP输 入 数 据3210Q Q Q Q n n n n Q Q Q Q +1+1+1+13102n n n n 说 明 ↑1 0 0 0 0 1 0 0 0 连续输入 4个脉冲 ↑1 0 0 1 0 1 1 0 0 ↑0 0 1 0 1 0 1 1 0 ↑ 1 1 0 1 11 0 1 1从4个触发器的输出端3210Q Q Q Q 还可以同时输出数码,即并行输出。
汇编语言寄存器和指令操作的整理汇编语言是一种与机器语言紧密相关的低级语言。
它使用寄存器和特定的指令操作来进行数据的加载、存储、运算和控制。
寄存器是位于CPU内部的高速存储器。
它们可以暂时存储数据,供CPU进行运算和操作。
汇编语言使用多个寄存器进行数据的临时存储和处理。
在x86架构的计算机系统中,常见的寄存器包括:1.通用寄存器:程序员可以随意使用的寄存器,用于存储临时数据和地址。
在32位模式下,共有8个32位通用寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP),在64位模式下,有16个64位通用寄存器(RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、R8~R15)。
2.段寄存器:用于存储段地址,分别包括代码段寄存器(CS)、数据段寄存器(DS)、附加段寄存器(ES)、栈段寄存器(SS)和指令指针寄存器(IP)。
3.标志寄存器:用于存储程序运行状态和执行结果的标志位,包括进位标志(CF)、零标志(ZF)、符号标志(SF)、溢出标志(OF)等。
除了寄存器,汇编语言还使用一些特定的指令操作来完成各种功能。
常见的指令操作包括:1.数据传输指令:用于将数据从一个位置(如寄存器、内存)传送到另一个位置。
常见的数据传输指令有MOV(将数据从源操作数传送到目标操作数)、LEA(加载有效地址)等。
2.算术运算指令:用于对数据进行加、减、乘、除等数学运算。
常见的算术运算指令有ADD(加法)、SUB(减法)、MUL(乘法)、IDIV(整数除法)等。
3.逻辑运算指令:用于对数据进行逻辑上的与、或、非、异或等运算。
常见的逻辑运算指令有AND(与运算)、OR(或运算)、NOT(取反运算)、XOR(异或运算)等。
4.控制指令:用于控制程序的流程和状态。
常见的控制指令有JMP(无条件跳转)、JZ(零标志跳转)、LOOP(循环执行)、CALL(调用子程序)等。
5.输入输出指令:用于与外部设备进行数据的输入和输出。
实验报告1.数据传送指令的使用一,实验目的;把数据、地址或立即数传送到寄存器、存储单元以及I/O端口,或从内存单元、I/O端口中读取数据。
1. 通用传送指令:MOV,PUSH,POP,XCHG,XLAT2. 输入输出指令指令: IN,OUT3. 目的地址传送指令: LEA,LDS,LES4. 标志位传送指令: LAHF,SAHF,PUSHF,POPF二,实验步骤;1. 传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。
3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。
并注意标志位有无变化。
2. 改变标志寄存器psw中tf标志的状态(0——1或1——0),其余位保持不变。
3. 设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。
在DEBUG状态下使用A 命令送入下面程序,并用单步T命令执行的方法,分析每条指令源地址的形成过程?当数据传送每完成一次,试分析AX寄存器中的内容是什么?程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]HLT4. 使用标志位传送指令,编程序段将标志位寄存器的低八位的值存入内存单元DS:1000H 中或堆栈中,然后将标志位寄存器的低八位置位为10101010。
2.算术逻辑运算和移位指令的使用一,实验目的;使用算术逻辑运算和移位指令,可以实现对二进制数据的加、减、乘、除等四则运算,与、或、非、异或等逻辑运算,以及移位运算和代码转换运算1,算术运算:加法指令、减法指令,乘法指令、除法指令以及转换指令;2. 逻辑运算指令:AND,TEST,OR,XOR,NOT3. 移位指令:移位运算可以分为算术逻辑移位和循环移位两类。