• 1.立即寻址方式 这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在码段区域中。立即数可以是8位的,也可以是16位. 立即寻址主要是用来给寄存器赋初值.  例如:MOV AX,1234H ;十六进制数1234H送入AX。   2.寄存器寻址 操作数包含在CPU的内部寄存器中,例如寄存器AX、BX、SI、DI等, 虽然操作数可在CPU的内部通用寄存器的任一个中,且它们都能参与算术运算和逻辑运算并存放运算结果。但是AX是累加器,若结果是存放在AX中,则通常指令要更短些,更紧凑些。
  • 1.立即寻址方式 这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在码段区域中。立即数可以是8位的,也可以是16位. 立即寻址主要是用来给寄存器赋初值. 例如:MOV AX,1234H ;十六进制数1234H送入AX。 2.寄存器寻址 操作数包含在CPU的内部寄存器中,例如寄存器AX、BX、SI、DI等, 虽然操作数可在CPU的内部通用寄存器的任一个中,且它们都能参与算术运算和逻辑运算并存放运算结果。但是AX是累加器,若结果是存放在AX中,则通常指令要更短些,更紧凑些。 >>
  • 来源:www2.eefocus.com/book/09-05/739521276059757.html
  • 3.2 计数器模式 3.2.1 向上计数模式   在向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器的内容),然后重新从0开始计数并且产生一个计数器溢出事件。   每次计数器溢出时可以产生更新事件,在TIMx_EGR寄存器中(通过软件方式或者使用从模式控制器)设置UG位也同样可以产生一个更新事件。   设置TIMx_CR1 寄存器中的UDIS位,可以禁止更新事件;这样可以避免在向预装载寄存器中写入新值时更新影子寄存器。在UDIS位被清’0’之前,将不产生更新事件。
  • 3.2 计数器模式 3.2.1 向上计数模式   在向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器的内容),然后重新从0开始计数并且产生一个计数器溢出事件。   每次计数器溢出时可以产生更新事件,在TIMx_EGR寄存器中(通过软件方式或者使用从模式控制器)设置UG位也同样可以产生一个更新事件。   设置TIMx_CR1 寄存器中的UDIS位,可以禁止更新事件;这样可以避免在向预装载寄存器中写入新值时更新影子寄存器。在UDIS位被清’0’之前,将不产生更新事件。 >>
  • 来源:www.mamicode.com/info-detail-925532.html
  • 对于8086PC机,在编程时,可以根据需要,将一组内存单元定义为一个段。 可以将长度为 N( N64KB )的一组代码,存在一组地址连续、起始地址为 16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。 [caption id="attachment_271" align="aligncenter" width="260"] 代码段[/caption] 这段长度为 10 字节的字节的指令,存在从123B0H~123B9H的一组内存单元中,我们就可以认为,123B0H~123
  • 对于8086PC机,在编程时,可以根据需要,将一组内存单元定义为一个段。 可以将长度为 N( N64KB )的一组代码,存在一组地址连续、起始地址为 16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。 [caption id="attachment_271" align="aligncenter" width="260"] 代码段[/caption] 这段长度为 10 字节的字节的指令,存在从123B0H~123B9H的一组内存单元中,我们就可以认为,123B0H~123 >>
  • 来源:www.cnblogs.com/LoveFishC/archive/2010/11/04/3845979.html
  • 这两天做项目,需要用到 CRC 校验。以前没搞过这东东,以为挺简单的。结果看看别人提供的汇编源程序,居然看不懂。花了两天时间研究了一下 CRC 校验,希望我写的这点东西能够帮助和我有同样困惑的朋友节省点时间。 先是在网上下了一堆乱七八遭的资料下来,感觉都是一个模样,全都是从 CRC 的数学原理开始,一长串的表达式看的我头晕。第一次接触还真难以理解。这些东西不想在这里讲,随便找一下都是一大把。我想根据源代码来分析会比较好懂一些。 费了老大功夫,才搞清楚 CRC 根据”权”(即多项表达
  • 这两天做项目,需要用到 CRC 校验。以前没搞过这东东,以为挺简单的。结果看看别人提供的汇编源程序,居然看不懂。花了两天时间研究了一下 CRC 校验,希望我写的这点东西能够帮助和我有同样困惑的朋友节省点时间。 先是在网上下了一堆乱七八遭的资料下来,感觉都是一个模样,全都是从 CRC 的数学原理开始,一长串的表达式看的我头晕。第一次接触还真难以理解。这些东西不想在这里讲,随便找一下都是一大把。我想根据源代码来分析会比较好懂一些。 费了老大功夫,才搞清楚 CRC 根据”权”(即多项表达 >>
  • 来源:www.baiheee.com/Documents/090107/090107125924.htm
  • 三、计算题(本大题共5小题,每小题4分,共20分)  四、应用题(本大题共9小题,第46、47、48、50、51、52小题各4分,第53、54小题各5分,第49小题6分,共40分)  47.除了CRC码外,数据校验码还有哪些类型?其中不可能纠错的校验码有哪些? 48.试根据8位寄存器的初始内容以及相应的移位操作,分别写出操作后该寄存器的内容,并填补到下表的空缺(1)至(4)中。  答: (1)______________; (2)___________________; (3)______________
  • 三、计算题(本大题共5小题,每小题4分,共20分) 四、应用题(本大题共9小题,第46、47、48、50、51、52小题各4分,第53、54小题各5分,第49小题6分,共40分) 47.除了CRC码外,数据校验码还有哪些类型?其中不可能纠错的校验码有哪些? 48.试根据8位寄存器的初始内容以及相应的移位操作,分别写出操作后该寄存器的内容,并填补到下表的空缺(1)至(4)中。 答: (1)______________; (2)___________________; (3)______________ >>
  • 来源:www.233.com/zikao/praxis/Gongxue/2384/102003641-3.html
  • 1.立即寻址方式 这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在码段区域中。立即数可以是8位的,也可以是16位. 立即寻址主要是用来给寄存器赋初值.  例如:MOV AX,1234H ;十六进制数1234H送入AX。   2.寄存器寻址 操作数包含在CPU的内部寄存器中,例如寄存器AX、BX、SI、DI等, 虽然操作数可在CPU的内部通用寄存器的任一个中,且它们都能参与算术运算和逻辑运算并存放运算结果。但是AX是累加器,若结果是存放在AX中,则通常指令要更短些,更紧凑些。
  • 1.立即寻址方式 这种寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在码段区域中。立即数可以是8位的,也可以是16位. 立即寻址主要是用来给寄存器赋初值. 例如:MOV AX,1234H ;十六进制数1234H送入AX。 2.寄存器寻址 操作数包含在CPU的内部寄存器中,例如寄存器AX、BX、SI、DI等, 虽然操作数可在CPU的内部通用寄存器的任一个中,且它们都能参与算术运算和逻辑运算并存放运算结果。但是AX是累加器,若结果是存放在AX中,则通常指令要更短些,更紧凑些。 >>
  • 来源:www2.eefocus.com/book/09-05/739521276059757.html
  • cpsr分为四个域,每个域有8位的宽度:flags,status,extension和control.control域包含处理器模式和状态以及中断屏蔽位.flags域包含condition flags.处理器模式决定了当前哪些寄存器是可用的以及cpsr本身的访问权限. 当发生异常时,arm会自动将cpsr保存到spsr寄存器中。 二、 处理器模式 处理器模式分为特权模式和非特权模式:特权模式对cpsr有完全的读写控制.
  • cpsr分为四个域,每个域有8位的宽度:flags,status,extension和control.control域包含处理器模式和状态以及中断屏蔽位.flags域包含condition flags.处理器模式决定了当前哪些寄存器是可用的以及cpsr本身的访问权限. 当发生异常时,arm会自动将cpsr保存到spsr寄存器中。 二、 处理器模式 处理器模式分为特权模式和非特权模式:特权模式对cpsr有完全的读写控制. >>
  • 来源:www.lxway.com/4469062894.htm
  • MSP430F149的UARTl采用SPI模式可以和SA9904B的SPI总线直接连接,MSP430F149内部产生标准的SPI时序,采用4线主从通信模式,MSP430F149工作在主机模式,STE为SPI选通控制端,UCLK引脚上的UCLK信号是SPI总线的同步时钟,在第一个UCLK周期,已写入UTXBUF的数据以高位在前低位在后的顺序移入移位寄存器,并由SIMO引脚移出,同时从SOMI引脚锁存数据并送入接收移位寄存器,接收移位寄存器满,则把接入数据放入接收缓存URXBUF中,在接收过程中最先接收到的
  • MSP430F149的UARTl采用SPI模式可以和SA9904B的SPI总线直接连接,MSP430F149内部产生标准的SPI时序,采用4线主从通信模式,MSP430F149工作在主机模式,STE为SPI选通控制端,UCLK引脚上的UCLK信号是SPI总线的同步时钟,在第一个UCLK周期,已写入UTXBUF的数据以高位在前低位在后的顺序移入移位寄存器,并由SIMO引脚移出,同时从SOMI引脚锁存数据并送入接收移位寄存器,接收移位寄存器满,则把接入数据放入接收缓存URXBUF中,在接收过程中最先接收到的 >>
  • 来源:www.edatop.com/test/186072.html
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据  如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据 如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。 >>
  • 来源:www.proface.com.cn/otasuke/files/manual/gpproex/new/refer/mergedProjects/sampling/sampling_mm_internaldeviceoperations.htm
  • 移位寄存器 移位寄存器不仅有存放数码而且有 的功能。 下图是由JK触发器组成的四位移位寄存器  下图是由维持阻塞型D触发器组成的四位移位寄存器。它既可并行输入(输入端为,)/串行输出(输出端为),又可串行输入(输入端为D)/串行输出。    下图所示的是应用于加法器中的一种。图中,,,是三个n位的移位寄存器,和是并行输入/串行输出,是串行输入/并行输出。  
  • 移位寄存器 移位寄存器不仅有存放数码而且有 的功能。 下图是由JK触发器组成的四位移位寄存器 下图是由维持阻塞型D触发器组成的四位移位寄存器。它既可并行输入(输入端为,)/串行输出(输出端为),又可串行输入(输入端为D)/串行输出。   下图所示的是应用于加法器中的一种。图中,,,是三个n位的移位寄存器,和是并行输入/串行输出,是串行输入/并行输出。   >>
  • 来源:eelab.sjtu.edu.cn/dg/wlkc/netpages/d22_2_2.htm
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源 >>
  • 来源:www.cnblogs.com/fengdashen/p/3724709.html
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。 >>
  • 来源:www.lxway.com/4011240006.htm
  • 从上面的算法可以看出,处理数据的采样时钟对每一个抽头来说都是并行的,并且加法器和移位寄存器采用级联方式,完成了累加器的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正点用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。对于一个特定的滤波器,由于它有固定的系数,乘法功能就是一个长数乘法器。下面将讨论乘法器的设计问题。 2 FIR并行滤波器的乘法器设计 在并行滤波器的设计中,每一个乘法器的一端输入数据,另一端为
  • 从上面的算法可以看出,处理数据的采样时钟对每一个抽头来说都是并行的,并且加法器和移位寄存器采用级联方式,完成了累加器的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正点用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。对于一个特定的滤波器,由于它有固定的系数,乘法功能就是一个长数乘法器。下面将讨论乘法器的设计问题。 2 FIR并行滤波器的乘法器设计 在并行滤波器的设计中,每一个乘法器的一端输入数据,另一端为 >>
  • 来源:xilinx.eetop.cn/?action-viewnews-itemid-144
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL.   2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD .
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. 2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD . >>
  • 来源:www.lxway.com/4010804094.htm
  •   从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下:    staticint tvp5158_i2c_write( struct i2c_client* client,uint8_t reg,uint8_t data) {
  •   从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下:    staticint tvp5158_i2c_write( struct i2c_client* client,uint8_t reg,uint8_t data) { >>
  • 来源:www.educity.cn/linux/1609771.html
  • 步进电机内部结构如图1所示:  如何能使它转起来呢?一搬有两种方法: 1.单相驱动:一相一相驱动,线圈加高电平顺序是:黄蓝红橙;或是:橙红蓝黄。其中黑白接地。 2.双相驱动:当要求电动机输出大功率时可以两相两相同时驱动,线圈加高电平顺序为:黄+红蓝+橙;或是:橙+蓝红+黄。 了解步进电机的驱动方式后、我想到了用移位寄存器产生移位脉冲来让步进电机动起来。电路如图2。  图2是通过拨码开关控制74LS194使Q0、Q1、Q2、Q3产生上面提过的两种移位脉冲来控制U1(光电耦合器
  • 步进电机内部结构如图1所示: 如何能使它转起来呢?一搬有两种方法: 1.单相驱动:一相一相驱动,线圈加高电平顺序是:黄蓝红橙;或是:橙红蓝黄。其中黑白接地。 2.双相驱动:当要求电动机输出大功率时可以两相两相同时驱动,线圈加高电平顺序为:黄+红蓝+橙;或是:橙+蓝红+黄。 了解步进电机的驱动方式后、我想到了用移位寄存器产生移位脉冲来让步进电机动起来。电路如图2。 图2是通过拨码开关控制74LS194使Q0、Q1、Q2、Q3产生上面提过的两种移位脉冲来控制U1(光电耦合器 >>
  • 来源:www.zxskj.cn/dianzi/zidongkongzhidianlu/1316.html
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下:
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下: >>
  • 来源:www.68idc.cn/help/makewebs/asks/20140604102813.html