文档库 最新最全的文档下载
当前位置:文档库 › 寄存器简写

寄存器简写

寄存器简写
寄存器简写

PWR电源相关寄存器

PWR_CR (电源控制寄存器)

PWR_CSR (电源控制/状态寄存器) BKP——DRx (x=1...10)(备份数据寄存器)

BKP_RTCCR (RTC时钟校准寄存器)

BKP_CR (备份控制寄存器)

BKP_CSR (备份控制/状态寄存器)

RCC时钟相关寄存器

RCC_CR (时钟控制寄存器)

RCC_CFGR (时钟配置寄存器)

RCC_CIR (时钟中断寄存器)

RCC_APB2RSTR (APB2外设复位寄存器)

RCC_APB1RSTR (APB1外设复位寄存器)

RCC_AHBENR (外设时钟使能寄存器)

RCC_APB2ENR (APB2外设时钟使能寄存器)

RCC_APB1ENR (APB1外设时钟使能寄存器)

RCC_BDCR (备份时钟控制寄存器)

RCC_CSR (RCC时钟控制/状态寄存器) GPIO输入输出相关寄存器

GPIOx_CRL (端口配置低寄存器x=A…E)

GPIOx_CRH (端口配置高寄存器x=A…E)

GPIOx_IDR (端口输入数据寄存器x=A…E) GPIOx_ODR (端口输出数据寄存器x=A…E) GPIOx_BSRR (端口位设置/清除寄存器x=A…e) GPIOx_BRR (端口位清除寄存器x=A…E)

GPIOx_LCKR (端口配置锁定寄存器x=A…E)

AFIO_EVCR (事件控制寄存器)

AFIO_MAPR (复用重映射和调试IO配置寄存器) 中断和事件相关寄存器

AFIO_EXTICR1 (外部中断配置寄存器1)

AFIO_EXTICR2 (外部中断配置寄存器2)

AFIO_EXTICR3 (外部中断配置寄存器3)

AFIO_EXTICR4 (外部中断配置寄存器4)

EXTI_IMR (中断屏蔽寄存器)

EXTI_EMR (中断屏蔽寄存器)

EXTI_RTSR (上升沿触发选择寄存器)

EXTI_RTSR (上升沿触发选择寄存器)

EXTI_PR (挂起寄存器)

DMA相关寄存器

DMA_ISR (DMA中断状态寄存器

DMA_IFCR (DMA中断标志清除寄存器)

DMA_CCRx (DMA通道x配置寄存器x=1…7) DMA_CNDTRx (DMA通道x传输数量寄存器x=1…7) DMA_CPARx (DMA通道x外设地址寄存器x=1…7)

ADC相关寄存器

ADC_SR (ADC状态寄存器)

ADC_CR1 (ADC控制寄存器1)

ADC_CR2 (ADC控制寄存器2)

ADC_SMPR1 (ADC采样时间寄存器)

ADC_SMPR1 (ADC采样时间寄存器)

ADC_JOFRx (ADC注入通道数据偏移寄存器x=1…4) ADC_HTR (ADC看门狗高阀值寄存器)

ADC_LRT (ADC看门狗低阀值寄存器)

ADC_SQR1 (ADC规则序列寄存器1)

ADC_SQR2 (ADC规则序列寄存器2)

ADC_SQR3 (ADC规则序列寄存器3)

ADC_JSQRADC (注入序列寄存器)

ADC_JDRx (ADC 注入数据寄存器x=1…4) DAC相关寄存器

DAC_CR (DAC控制寄存器)

DAC_SWTRIGR (DAC软件触发寄存器)

DAC_DHR12R1 (DAC通道1的12位右对齐数据保持寄存器) DAC_DHR12L1 (DAC通道1的12位左对齐数据保持寄存器) DAC_DHR8R1 (DAC通道1的8位右对齐数据保持寄存器) DAC_DHR12R2 (DAC通道2的12位右对齐数据保持寄存器) DAC_DHR12L2 (DAC通道2的12位左对齐数据保持寄存器) DAC_DHR8R2 (DAC通道2的8位右对齐数据保持寄存器) DAC_DHR12RD (双DAC的12位右对齐数据保持寄存器) DAC_DHR12LD (双DAC的12位左对齐数据保持寄存器) DAC_DHR8RD (双DAC的8位右对齐数据保持寄存器) DAC_DOR2 (DAC通道2数据输出寄存器)

高级定时器T1和T8相关寄存器

TIMx_CR1 (TIM1和TIM8控制寄存器1)

TIMx_CR2 (TIM1和TIM8控制寄存器2)

TIMx_SMCR (TIM1和TIM8从模式控制寄存器)

TIMx_DIER (TIM1和TIM8 DMA/中断使能寄存器)

TIMx_SR (TIM1和TIM8状态寄存器)

TIMx_EGR (TIM1和TIM8事件产生寄存器)

TIMx_ARR (TIM1和TIM8自动重装载寄存器)

TIMx_CCMR1 (TIM1和TIM8捕获/比较模式寄存器1) TIMx_CCMR2 (TIM1和TIM8捕获/比较模式寄存器2) TIMx_CCER (TIM1和TIM8捕获/比较使能寄存器)

TIMx_CNT (TIM1和TIM8计数器)

TIMx_PSC (TIM1和TIM8预分频器)

TIMx_RCR (TIM1和TIM8重复计数寄存器)

TIMx_CCR1 (TIM1和TIM8捕获/比较寄存器1)

TIMx_CCR2 (TIM1和TIM8捕获/比较寄存器2)

TIMx_CCR3 (TIM1和TIM8捕获/比较寄存器3)

TIMx_CCR4 (TIM1和TIM8捕获/比较寄存器4) TIMx_BDTR (TIM1和TIM8刹车和死区寄存器) TIMx_DCR (TIM1和TIM8 DMA控制寄存器) TIMx_DMAR (TIM1和TIM8连续模式的DMA地址) 通用定时器相关寄存器

TIMx_CR1 (控制寄存器1)

TIMx_CR2 (控制寄存器2)

TIMx_SMCR (从模式控制寄存器)

TIMx_DIER (DMA/中断使能寄存器)

TIMx_SR (状态寄存器)

TIMx_EGR (事件产生寄存器)

TIMx_CCMR1 (捕获/比较模式寄存器1)

TIMx_CCMR2 (捕获/比较模式寄存器2)

TIMx_CCER (捕获/比较使能寄存器)

TIMx_CNT (计数器)

TIMx_PSC (预分频器)

TIMx_ARR (自动重装载寄存器)

TIMx_CCRx (捕获/比较寄存器x,x=1,2,3,4)

TIMx_DCR (DMA控制寄存器)

TIMx_DMAR (连续模式的DMA地址)

基本定时器相关寄存器

TIMx_CR1 (TIM6和TIM7控制寄存器1)

TIMx_CR2 (TIM6和TIM7控制寄存器2)

TIMx_DIER (TIM6和TIM7 DMA/中断使能寄存器) TIMx_SR (TIM6和TIM7状态寄存器)

TIMx_EGR (TIM6和TIM7事件产生寄存器)

TIMx_CNT (TIM6和TIM7计数器)

TIMx_PSC (TIM6和TIM7预分频器)

TIMx_ARR (TIM6和TIM7自动重装载寄存器) RTC相关寄存器

RTC_CRH (RTC控制寄存器高位)

RTC_CRL (RTC控制寄存器低位)

RTC_PRLH (RTC预分频装载寄存器高位)

RTC_PRLL (RTC预分频装载寄存器低位)

RTC_DIVH (RTC预分频器余数寄存器高位)

RTC_DIVL (RTC预分频器余数寄存器低位)

RTC_CNTH (RTC计数器寄存器高位)

RTC_CNTL (RTC计数器寄存器低位)

RTC_ALRH (RTC闹钟寄存器高位)

RTC_ALRL (RTC闹钟寄存器低位)

独立看门狗相关寄存器

IWDG_KR (键寄存器)

IWDG_PR (预分频寄存器)

IWDG_RLR (重装载寄存器)

IWDG_SR (状态寄存器)

窗口看门狗相关寄存器

WWDG_CFR (配置寄存器)

WWDG_SR (状态寄存器)

可配置静态存储器控制器相关寄存器

FSMC_BCR1…4 (SRAM/NOR闪存片选控制寄存器1…4) FSMC_BTR1…4 (SRAM/NOR闪存片选时序寄存器) FSMC_BWTR1…4 (SRAM/NOR闪存写时序寄存器1…4) FSMC_PCR2..4 (PC卡/NAND闪存控制寄存器 2..4) FSMC_SR2..4 (FIFO状态和中断寄存器2..4)

FSMC_PMEM2..4 (通用存储空间时序寄存器 2..4)

FSMC_PA TT2..4 (属性存储空间时序寄存器 2..4)

FSMC_ECCR2/3 (ECC结果寄存器2/3)

SDIO相关寄存器

SDIO_POWER (SDIO电源控制寄存器)

SDIO_CLKCR (SDIO时钟控制寄存器)

SDIO_ARG (SDIO参数寄存器)

SDIO_CMD (SDIO命令寄存器)

SDIO_RESPCMD (SDIO命令响应寄存器)

SDIO_RESPx (SDIO响应1..4寄存器)

SDIO_DTIMER (SDIO数据定时器寄存器)

SDIO_DLEN (SDIO数据长度寄存器)

SDIO_DCTRL (SDIO数据控制寄存器)

SDIO_DCOUNT (SDIO数据计数器寄存器)

SDIO_STA (SDIO状态寄存器)

SDIO_ICR (SDIO清除中断寄存器)

SDIO_MASK (SDIO中断屏蔽寄存器)

SDIO_FIFOCNT (SDIO FIFO计数器寄存器)

SDIO_FIFO (SDIO数据FIFO寄存器)

USB相关寄存器

USB_CNTR (USB控制寄存器)

USB_ISTR (USB中断状态寄存器)

USB_FNR (USB帧编号寄存器)

USB_DADDR (USB设备地址寄存器)

USB_BTABLE (USB分组缓冲区描述表地址寄存器) USB_EPnR (USB 端点n寄存器), n=[0..7]

USB_ADDRn_TX (发送缓冲区地址寄存器n)

USB_COUNTn_TX (发送数据字节数寄存器n)

USB_ADDRn_RX (接收缓冲区地址寄存器n)

USB_COUNTn_RX (接收数据字节数寄存器n)

bxCAN相关寄存器

CAN_MCR (CAN主控制寄存器)

CAN_MSR (CAN主状态寄存器)

CAN_TSR (CAN发送状态寄存器)

CAN_RF0R (CAN接收FIFO 0寄存器)

CAN_RF1R (CAN接收FIFO 1寄存器)

CAN_IER (CAN中断使能寄存器)

CAN_ESR (CAN错误状态寄存器)

CAN_BTR (CAN位时序寄存器)

CAN_TIxR (发送邮箱标识符寄存器) (x=0..2)

CAN_TDTxR (发送邮箱数据长度和时间戳寄存器) (x=0..2) CAN_TDLxR (发送邮箱低字节数据寄存器) (x=0..2)

CAN_TDHxR (发送邮箱高字节数据寄存器) (x=0..2)

CAN_RIxR (接收FIFO邮箱标识符寄存器) (x=0..1)

CAN_RDTxR (接收FIFO邮箱数据长度和时间戳寄存器)(x=0.1) CAN_RDLxR (接收FIFO邮箱低字节数据寄存器) (x=0..1) CAN_RDHxR (接收FIFO邮箱高字节数据寄存器) (x=0..1) CAN_FMR (CAN 过滤器主控寄存器)

CAN_FM1R (CAN 过滤器模式寄存器)

CAN_FS1R (CAN 过滤器位宽寄存器)

CAN_FFA1R (CAN 过滤器FIFO关联寄存器)

CAN_FA1R (CAN 过滤器激活寄存器)

SPI相关寄存器

SPI_CR1 (SPI控制寄存器1)

SPI_CR2 (SPI控制寄存器2)

SPI_SR (SPI 状态寄存器)

SPI_DR (SPI 数据寄存器)

SPI_CRCPR (SPI CRC多项式寄存器)(I2S模式下不使用)

SPI_RXCRCR (SPI Rx CRC寄存器)(I2S模式下不使用)

SPI_TXCRCR (SPI Tx CRC寄存器)

SPI_I2S_CFGR (SPI_I2S配置寄存器)

SPI_I2SPR (SPI_I2S预分频寄存器)

I2C相关寄存器

I2C_CR1 (控制寄存器1)

I2C_CR2 (控制寄存器2)

I2C_OAR1 (自身地址寄存器1)

I2C_OAR2 (自身地址寄存器2)

I2C_DR (数据寄存器)

I2C_SR1 (状态寄存器1)

I2C_SR2 (状态寄存器2)

I2C_CCR (时钟控制寄存器)

串口通讯相关寄存器

USART_DR (数据寄存器)

USART_BRR (波特比率寄存器)

USART_CR1 (控制寄存器1)

USART_CR2 (控制寄存器2)

USART_CR3 (控制寄存器3)

USART_GTPR (保护时间和预分频寄存器)

Cisco 路由器寄存器配置 配置目的:寄存器配置用于更改路由器启动过程。 启动位由4位16进制寄存器组成 格式:0xABCD 赋值范围从0x0到0xFFFF 0x2102 :工业默认值 0x2142 :从FLASH中启动,但不使用NVRAM中的配置文件(用于口令恢复) 0x2101 :从Boot RAM中启动,应用于更新系统文件 0x2141 :从Boot RAM中启动,但不使用NVRAM中的配置文件 其中C位的第三位为1时表示关闭Break键,反之表示打开Break键。 0x141:表示关闭Break键,不使用NVRAM中的配置文件,并且从系统默认的ROM中的系统中启动。 0x0040:表示允许路由气读取NVRAM中的配置文件。 监视命令功能 o:以位的形式显示实际配置的当前起作用的寄存器, o Displays the virtual configuration register, currently in effect, wi th a de script ion of the bits o/r:重置实际配置的寄存器为以下值: ?9600 (端口速率) ?Break是否有效 ?是否忽略NVRAM中的配置 ?是否从ROM 中启动 如:o/r 0x2102 表B-1 寄存器配置定义表 位顺序十六进制意义 00 to 03 0x0000 to 0x000F 启动字段 06 0x0040 使得系统软件忽略NVRAM中的内容 07 0x0080 OEM位开启 08 0x0100 Break键关闭 10 0x0400 IP广播到所有域 11 to 12 0x0800 to 0x1000 Console口速率 13 0x2000 如果网络启动失败,默认从ROM中启动 14 0x4000 IP broadcasts do not have net numbers 15 0x8000 启动诊断信息同时忽略NVRAM内容 (1)工业默认寄存器位 0x2102。这个只有以下几个部分组成 bit 13 = 0x2000, bit 8 = 0x0100, and bits 00 到 03 (参照 TableB-2) = 0 x0002. 表 B-2 启动为注视 (配置寄存器位 00 到 03) 启动位的意义 0x0:启动后停留在bootstrap状态 0x1:从 ROM 中启动 0x2到0xF:指定默认的启动文件启动系统,

数据寄存器(AX、BX、CX、DX) 1.寄存器AX通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、 除、输入/输出等操作,它们的使用频率很高; 2.寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 3.寄存器CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位 操作中,当移多位时,要用CL来指明移位的位数; 4.寄存器DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算, 也可用于存放I/O的端口地址; 变址寄存器(SI、DI) 寄存器SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便 指针寄存器(BP、SP) 寄存器BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们主要用于访问堆栈内的存储单元,并且规定: BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据; SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶 段寄存器(CS、DS、ES、SS、FS、GS) 段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址 CS 代码段寄存器(Code Segment Register),其值为代码段的段值 DS 数据段寄存器(Data Segment Register),其值为数据段的段值; ES 附加段寄存器(Extra Segment Register),其值为附加数据段的段值 SS 堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值; FS 附加段寄存器(Extra Segment Register),其值为附加数据段的段值 GS 附加段寄存器(Extra Segment Register),其值为附加数据段的段值 在16位CPU系统中,它只有4个段寄存器,所以,在此环境下开发的程序最多可同时访问4个段; 在32位CPU系统中,它共有6个段寄存器,所以,在此环境下开发的程序最多可同时访问6个段. 指令指针寄存器 指令指针EIP、IP(Instruction Pointer)是存放下次将要执行的指令在代码段的偏移量。在具有预取指令功能的系统中,下次要执行的指令通常已被预取到指令队列中,除非发生转移情况。所以,在理解它们的功能时,不考虑存在指令队列的情况。 16位标志寄存器 9个标志位,它们主要用来反映CPU的状态和运算结果的特征。 1.进位标志CF(Carry Flag) 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的 最高位产生了一个进位或借位,那么,其值为1,否则其值为0。 2.奇偶标志PF(Parity Flag)奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为 偶数,则PF的值为1,否则其值为0 3.辅助进位标志AF(Auxiliary Carry Flag) 在发生下列情况时,辅助进位标志AF的值被置为1,否 则其值为0:

GPIOB_BASE是一个地址,这个地址是GPIOB一系列寄存器的首地址,后面地址依次是GPIOB 的寄存器,将这个地址转换为结构体形式,并将后面寄存器按顺序定义在结构体里面,这样访问寄存器就可以通过引用结构体的形式了而不必书写寄存器的地址来访问寄存器。 寄存器用途: 1.可将寄存器内的数据执行算术及逻辑运算; 2.存于寄存器内的地址可用来指向内存的某个位置,即寻址; 3.可以用来读写数据到电脑的周边设备。 AX 累加器,得名原因是最初常使用ADD AX,n这样的指令 CX 计数器,得名原因是最常使用CX的值作为重复操作的次数 BX 常用作地址寄存器,如MOV AX,[BX],把BX所指地址中的数取到AX中去 DX 通用寄存器 所讲的寄存器都是以x86为基础的,那么这种CPU内,寄存器可分为以下几种: 1.EAX、EBX、ECX、EDX等通用寄存器——从通用上来讲,它所存储的东西,只要它的容积所容许的话,什么都是可以存储的; 2.CS、SS、ES等段寄存器——它所存储的只能是地址,它的作用是从寻址上可以体现出来; 3.EIP,也称为指令指针 4.EFLAGS寄存器,俗称为标志寄存器——所存储的是与CPU的每一个执行的指令有关。是关系到CPU每一个指令的执行相关内容与特殊的关联,即CPU所执行的指令是否违规,它的指令是否有进位,它的指令是否有溢出,都是在标志寄存器中能表现与表达出来; 5.浮点单元,这里面之所以只浮点单元,是因为在它里面还有一些小的寄存分类,主要是数学上的浮点上的计算 6.MMX指令使用的8个64位寄存器 7.单指令、多数据操作(SIMD,single-instruction,multiple-data)使用的8个128位XMM寄存器

基于AD9833的高精度可编程波形发生器系统设计 来源:国外电子元器件 1 引言 频率合成器在通信、雷达和导航等设备中既是发射机的激励信号源,又是接收机的本地振荡器;在电子对抗设备中可作为干扰信号发生器;在测试设备中则作为标准信号源。因此频率合成器被称为许多电子系统的“心脏”。而设计高精度,易于操作的频率合成器则是核心,因此,这里提出了一种基于DDS AD9833的高精度波形发生器系统解决方案。用户可直接编辑设置所需的波形频率和峰峰值等信息,利用串口将配置信息发送到电路板,实时控制波形。该系统设计已成功应用于某型雷达测速仪测试设备。 2 AD9833简介 AD9833是ADI公司的一款低功耗、DDS器件,能够输出正弦波、三角波、方波。AD9833无需外接元件,输出频率和相位可通过软件编程设置,易于调节。其频率寄存器为28位,主频时钟为25 MHz时,其精度为0.1 Hz;主频时钟为l MHz时.精度可达0.004 Hzt2。 AD9833内部有5个可编程寄存器:1个16位控制寄存器,用于设置器件_T作模式;2个28位频率寄存器和2个12位相位寄存器,分别用于设置器件输出正弦波的频率和相位。AD9833有3根串行接口线,可与SPI,QSPI,MICRO-WIRE 和DSP接口标准相兼容。在串口时钟SCLK的作用下,数据是以16位方式加载至设备。 AD9833的内部电路主要有数控振荡器(NCO)、频率和相位调节器、SineROM、D/A转换器、电压调整器。AD9833的核心是28位的相位累加器,它由加法器和相位寄存器组成,而相位寄存器是按每个时钟增加步长,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正弦查询表包含1个周期正弦波的数字幅值信息,每个地址对应正弦波中O。~360°内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅值的数字量信号,驱动D/A转换器输出模拟量。 输出正弦波频率为: 式中:FREQREG为频率控制字,由频率寄存器FREQOREG或FREQlREG的值给定,其范围为0≤M<228一1。fMCLK为参考时钟频率。 输出正弦波的相位为2π/4 096xPHASEREG,其中PHASEREG是所选相位寄存器的值。输出正弦波的峰峰值固定.约600 mV,且正弦波不是标准正弦波,即波谷是0 V,而不是负电压。因此,输出正弦波为: 式中:K约600 mV,与器件内部参考电压有关。

Cisco路由器的配置寄存器 https://www.wendangku.net/doc/eb18411084.html,日期:2006-5-24 浏览次数: 10973 出处:https://www.wendangku.net/doc/eb18411084.html, 1. 前言 配置寄存器是一个16位的虚拟寄存器,用于指定路由器启动的次序、中断参数和设置控制台波特率等。该寄存器的值通常是以十六进制来表示的。 利用配置命令config register可以改变配置寄存器的值。 2. 启动次序 配置寄存器的最后4位,指定的是,路由器在启动的时候必须使用的启动文件所在的位置: 0x0000指定路由器进入ROM监控模式 0x0001指定从ROM中启动 0x0002-0x000F的值则参照在NVRAM配置文件中命令boot system指定的顺序 如果配置文件中没有boot system命令,路由器会试图用系统Flash存储器中的第一个文件来启动,如果失败,路由器就会试图用TFTP从网络上加载一个缺省文件名的文件(由boot域的值确定,如cisco2-4500),如果还失败,系统就从启动Flash中加载启动。 缺省的文件名是采用单词cisco、启动位的值以及路由器类型或处理器的名称构成。例如某台4500上启动字段设为3,那么缺省的启动文件名就是cisco3-4500。 以MC3819(CPU型号,大多采用MOTOROLA)路由器启动顺序为例,下面就是启动的四个阶段: 1. 系统自举 2. 启动加载(读取配置信息和启动Flash文件系统的最小功能) 3. 启动系统IOS镜像文件 4. 接口初始化/系统重启 3. 配置寄存器 3.1. 各位的含义 表格1 配置寄存器各位的含义

例如: 通过show version命令可以看到路由器配置寄存器的值,缺省情况下为0x2102。这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。 第一个2,还原成二进制为0010,这一部分为boot field,对路由器IOS的启动起着至关重要的作用,当boot field 的值为2-15中的任何一个时,路由器属于正常启动,当此值为0时,路由器启动后会进入ROMMON模式,此值为1时,路由器进入到RXBOOT模式(2500路由器的FLASH在配置寄存器的值为2102时属性为只读,如果要升级IOS必须把寄存器的值修改为2101) 0,还原成二进制为0000,这四位中,起关键作用的是第三位(即整个寄存器里面的BIT 7),值为0,当路由器启动后会从NVRAM里面的配置文件调到RAM里运行,值为1,路由器启动后会忽略NVRAM的配置(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142的原因) 1,还原成二进值为0001,我们来关注BIT8,值为0时,路由器在正常运行模式下CTRL + BREAK无效;值为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。 第二个2,还原成二进制为0100,其中BIT13,当值为0时,路由器如果进行网络启动会尝试无穷多次。当值为1时,路由器最多进行5次的网络启动尝试。 寄存器位数十六进制功能描述 0-3(启动次序) 0x0000-0x000F 启动字段:0000-停留在引导提示符下(>或rommon >下)0001-从ROM 中引导, 4 -未使用 5 -未使用 6 0x0040 配置系统忽略NVRAM中的配置信息 7 0x0080 启动OEM位 8 0x0100 设置之后,暂停键在系统运行时无法使用;如果没有设置,系统会进入引导监控模式下(rommon>) 9 - 10 0x0400 全0的就是广播地址 11-12 0x0800到0x1800 控制台线路速度,默认的就是00即9600bps 13 0x2000 如果启动失败,系统以缺省ROM软件启动 14 0x4000 - 15 0x8000 该设置能够启用诊断消息,并忽略NVRAM的内容 典型参数 l 0x2102:运行过程中中断键被屏蔽,路由器会查看NVRAM中配置的内容以确定启动次序,如果启动失败会采用缺省的ROM软件进行启动。 l 0x2142:恢复密码时候使用。忽略NVRAM配置信息而进入初始配置对话模式中去 3.2. 密码恢复 路由器的密码恢复是将路由器重启、中断再进入ROM监控模式,将设备设置为忽略配置文件,然后再重启,退出初始配置对话模式,配置存储器,然后读出或重新设置密码即可。 根据路由器的处理器不同,需要分两种情况进行处理。 l 适用于精简指令集计算机(RISC): 1. 关掉路由器电源,然后重新打开电源 2. 按下break键或别的键盘组合将路由器置入ROM监控模式。Break键对不同计算机或终端软件是不同的,按键的次序可能是CTRL-D,CTRL-Break等。 3. 在rommon> 提示符下,键入conf reg 0x2142以设置路由器下一次从Flash加载启动的时候不要加载NVRAM中的启动配置信息 4. 键入reset命令,路由器将重启但忽略NVRAM中的配置信息 5. 路由器运行设置对话模式。输入no或按下CTRL-C以跳过初始设置对话模式

寄存器 Scope of register: 寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。 1、寄存器- 特点及原理 寄存器又分为内部寄存器与外部寄存器,所谓内部寄存器,其实也是一些小的存储单元,也能存储数据。但同存储器相比,寄存器又有自己独有的特点: ①寄存器位于CPU内部,数量很少,仅十四个; ②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据; ③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。 寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。有些时候我们常把外部寄存器就称为“端口”,这种说法不太严格,但经常这样说。 外部寄存器虽然也用于存放数据,但是它保存的数据具有特殊的用途。某些寄存器中各个位的0、1状态反映了外部设备的工作状态或方式;还有一些寄存器中的各个位可对外部设备进行控制;也有一些端口作为CPU同外部设备交换数据的通路。所以说,端口是CPU和外设间的联系桥梁。CPU对端口(Ports)的访问也是依据端口的“编号”(地址),这一点又和访问存储器一样。不过考虑到机器所联接的外设数量并不多,所以在设计机器的时候仅安排了1024个端口

ATPCS中各寄存器的使用规则及其名称 参数传递规则 1. 参数不超过4个时,可以使用寄存器R0~R3来传递参数,当参数超过4个时,还可 以使用数据栈来传递参数。 2. 结果为一个32位整数时,可以通过寄存器R0返回 3. 结果为一个64位整数时,可以通过寄存器R0和R1返回,依次类推。 汇编程序、C程序及C++程序相互调用 C 程序调用汇编程序: ?汇编程序的设置要遵循ATPCS 规则,保证程序调用时参数的正确传递。 ?在汇编程序中使用EXPORT 伪指令声明本子程序,使其它程序可以调用此子程序。 ?在C 语言程序中使用extern 关键字声明外部函数(声明要调用的汇编子程序),即可调用此汇编子程序。 ?调用汇编的C 函数: ?示例 #include extern void strcopy(char *d,const char *s) //声明外部函数,即要调用的汇编 //子程序 int main(void) { const cha r *srcstr=“First string-source”;//定义字符串常量 char dstsrt[] =“Second string-destination”;//定义字符串变量 printf(“Before copying:\n”); printf(“?%s?\n …%s\n,”srcstr,dststr); //显示源字符串和目标字符串的内容strcopy(dststr,srcstr); //调用汇编子程序,R0=dststr,R1=srcstr printf(“Aft er copying:\n”) printf(“?%s?\n …%s\n,”srcstr,dststr); //显示strcopy 复制字符串结果 return(0);

西门子s7-200常用寄存器使用基础知识 1、S7-200将1个字长(16位)数字值按比例转换为电流或电压。可以用区域标识符(AQ)、数据长度(W)及字节的起始地址来改变这些值。因为模拟量为1个字长,且从偶数字节(如0、 2、4)开始,所以必须用偶数字节地址(如AQW0、AQW2、AQW4)来改变这些值。模拟量输出值为只写数据。模拟量转换的实际精度是12位。格式:AQW[起始字节地址]。例如:AQW4 2、在S7-200 CPU中,计数器用于累计从输入端或内部元件送来的脉冲数。它有增计数器、减计数器及增/减计数器3种类型。由于计数器频率扫描周期的限制,当需要对高频信号计数时可以用高频计数器(HSC)。 计数器有以下两种寻址形式。 当前值寻址:16位有符号整数,存储累计脉冲数。 计数器位寻址:根据当前值和预置值的比较结果置位或者复位。同定时器一样,两种寻址方式使用同样的格式,即C+计数器编号。例如:C0 (1)每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节(表6-7),令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表1所示。 表1 HSC0-HSC5当前值和预置值占用的特殊内部标志位存储区 除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型HC(高速计数器当前值)加计数器号码(0、1、2、3、4或5)读取每台高速计数器的当前值。因此,读取操作可直接读取当前值,但只有用上述HSC指令才能执行写入操作。 (2)执行HDEF指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4×模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。

DSP寄存器设置 2010-07-02 14:47 一个ePWM module包括Time-base (TB) module,Counter-compare (CC) module,Action-qualifier (AQ) module,Dead-band (DB) module,PWM-chopper (PC) module,Event-trigger (ET) module,Trip-zone (TZ) module等七个模块。正常的发出PWM波要配置TB、CC、AQ、DB、ET等五个模块。 Time-base (TB) module为定时器模块,有 TBCTL(控制寄存器)配置定时器的时钟、计数模式、同步模式 TBSTS(状态寄存器) TBPHSHR(高速PWM用) TBPHS(相位寄存器)计数器的起始计数位置,例如寄存器为0x0100则计数器从0x0100开始计数 TBCTR(计数器) TBPRD(周期寄存器)设置计数器的计数周期。只有TBPRD(周期寄存器)有影子寄存器。 本程序的设置为count-up-and-down mode计数模式,相位为零,ePWM2 、ePWM3、ePWM4、 ePWM5、 ePWM6通过ePWM1的计数器到零时进行同步,计数周期为0.5ms。 Counter-compare (CC) module为比较器模块有 CMPCTL (比较控制寄存器)设置CMPA、CMPB的重载模式 CMPAHR(高速PWM用), CMPA(比较值寄存器A)设置EPWMxA的比较值,有影子寄存器。 CMPB(比较值寄存器B)设置EPWMxB的比较值,有影子寄存器。 本程序只应用了CMPA,设置计数器到零时重载CMPA。 Action-qualifier (AQ) module比较方式预设模块 AQCTLA (输出A比较方式控制寄存器)设置EPWMA的比较方式有CBD、CBU、CAD、CAU、PRD、ZRO,无影子寄存器,立即装载 AQCTLB (输出B比较方式控制寄存器)设置EPWMB的比较方式有CBD、CBU、CAD、CAU、PRD、ZRO,无影子寄存器,立即装载

术语翻译贡献者 Absolute Translation 绝对翻译 古阿德克( Gouadec) Abstract Translation 摘要翻译 古阿德克( Gouadec) Abusive translation 滥译 路易斯( Lewis ) Acceptability 可接受性 托利( Toury ) Accuracy 准确Adaptation 改编Adequacy 充分性Adjustment 调整 Analogical Form 类同形式 霍尔姆斯( Holmes) Analysis 分析 奈达( Nida )和泰伯( Taber ) Applied Translation Studies 应用翻译研究霍尔姆斯( Holmes) Architranseme (ATR) 元译素范·路文兹瓦特( van Leuven- Zwart ) Autonomy Spectrum 自立幅度罗斯( Rose) Autotranslation 自译 波波维奇( Popovic ) Back Translation 回译 Bilateral interpreting 双边传译凯斯( Keith )Class Shift 词类转换韩礼德( Halliday )Close Translation 贴近翻译纽马克( Newmark) Communicative Translation 传意翻译;交际翻 译纽马克( Newmark) Community interpreting 社群传译 Compensation 补偿赫维( Hervey )Competence 能力托利( Toury )Componential Analysis 语义成分分析奈达( Nida )Comprehensive theory 综合理论

西门子PLC的寄存器结构 一访问数据 CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。可以显式标识要访问的存储器地址。这样程序将直接访问该信息。要访问存储区中的位,必须指定地址,该地址包括存 储器标识符、字节地址和位号(也称为“字节.位”寻址)。 表格--存储区 M存储器最多32个(256个位、32个字节、16个字),从MB0~MB31,MW0~MW30,MD0~MD28。 V存储器最多可到几千~几万个。 M是位地址。比如M0.0,M0.1等。

MB0、MB1是字节地址,包括8个位地址,从M0.0~M0.7,从 M1.0~M1.7。 MW0是字地址,包括MB0和MB1,即从M0.0~M1.7共16个位 地址。常用于寄存16位数据。 MD0是双字地址,包括MW0和MW1,即从M0.0~M3.7共32 个位地址。常用于寄存32位数据。 在程序执行期间,使用过程映像寄存器比直接访问输入或输出点更有优势。使用映像寄存器共有三个原因: ●在扫描开始时对所有输入进行采样可在扫描周期的程序执行阶段同步和冻结输入值。程序执行完成后,使用映像寄存器中的值更新输出。这样会使系统更稳定。 ●程序访问映像寄存器的速度比访问 I/O 点的速度快得多,从而可以更快地执行程序。 ● I/O 点是位实体,必须以位或字节的形式访问,但可以采用位、字节、字或双字的形式访问映像寄存器。因此,映像寄存器更为灵活。 使用“字节地址”格式可按字节、字或双字访问多数存储区(V、I、 Q、 M、 S、 L 和 SM)中的数据。要按字节、字或双字访问存储器中的数据,必须采用类似于指定位地址的方法指定地址。这包括区域标识符、数据大小标识和字节、字或双字值的起始字节地

三菱PLC的指令代码 一顺控指令 1 触点指令 00 LD 逻辑操作开始 01 LDI 逻辑非操作开始 02 AND 逻辑乘 03 ANI 逻辑乘非 04 OR 逻辑加 05 ORI 逻辑加非 2 连接指令 06 ANB AND逻辑块与 07 ORB OR逻辑块或 08 MPS 存储操作结果 09 MRD 从MPS读取操作结果 10 MPP 从MPS读取操作结果 并清除结果 3 输出指令 11 OUT 软元件输出 12 SET 软元件置位 13 RST 软元件复位 14 PLS 在输入信号的上升沿 15 PLF 在输入信号的下降沿 16 CHK 软元件输出翻转 4 移位指令 17 SFT 元件移1位 18 SFTP 元件移1位 5 主控指令 19 MC 主控开始 20 MCR 主控复位 6 结束指令 21 FEND 结束主程序 22 END 总的程序末尾, 返回第0步 7 其它指令 23 STOP 停止 24 NOP 空操作 二基本指令 1 比较指令 16位数据比较 25 LD= 当S1=S2, 接通, 当S1≠S2, 断开 26 AND= 27 OR= 28 LD<> 当S1≠S2, 接通, 当S1=S2, 断开 29 AND<>

31 LD> 当S1>S2, 接通, 当S1≤S2, 断开 32 AND> 33 OR> 34 LD<= 当S1≤S2, 接通, 当S1>S2, 断开 35 AND<= 36 OR<= 37 LD< 当S1= 当S1≥S2, 接通, 当S1= 42 OR>= 32位数据比较 43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通 44 ANDD= 45 ORD= 46 LDD<> 当(S1+1,S1)≠(S2+1,S2),接通 47 ANDD<> 48 ORD<> 49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通 50 ANDD> 51 ORD> 52 LDD<= 当(S1+1,S1)≤(S2+1,S2),接通 53 ANDD<= 54 ORD<= 55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通 56 ANDD< 57 ORD< 58 LDD>= 当(S1+1,S1)≥(S2+1,S2),接通 59 ANDD>= 60 ORD>= 2 算术运算指令 二进制16位加/减 61 + (D)+(S)→(D) 62 +P 63 + (S1)+(S2)→(D) 64 +P 65 - (D)-(S)→(D) 66 -P 67 - (S1)-(S2)→(D) 68 -P 二进制32位加/减 69 D+ (D+1,D)+(S+1,S)→(D+1,D)

void halRfWriteRfSettings(void) { halSpiWriteReg(CCxxx0_FSCTRL0, 0X00);//自已加的 // Write register settings halSpiWriteReg(CCxxx0_FSCTRL1, 0X06); halSpiWriteReg(CCxxx0_FSCTRL0, 0X00); halSpiWriteReg(CCxxx0_FREQ2, 0X10); halSpiWriteReg(CCxxx0_FREQ1, 0XAF); halSpiWriteReg(CCxxx0_FREQ0, 0XDF);///433.862 OK halSpiWriteReg(CCxxx0_MDMCFG4, 0X77); halSpiWriteReg(CCxxx0_MDMCFG3, 0X83); halSpiWriteReg(CCxxx0_MDMCFG2, 0XB0); halSpiWriteReg(CCxxx0_MDMCFG1, 0X22); halSpiWriteReg(CCxxx0_MDMCFG0, 0XF8); halSpiWriteReg(CCxxx0_DEVIATN, 0X47); halSpiWriteReg(CCxxx0_FREND1, 0X56); halSpiWriteReg(CCxxx0_FREND0, 0X17); halSpiWriteReg(CCxxx0_MCSM0 , 0X18); halSpiWriteReg(CCxxx0_FOCCFG, 0X1C); halSpiWriteReg(CCxxx0_BSCFG, 0X6C); halSpiWriteReg(CCxxx0_AGCCTRL2, 0X04); halSpiWriteReg(CCxxx0_AGCCTRL1, 0X00); halSpiWriteReg(CCxxx0_AGCCTRL0, 0X92); halSpiWriteReg(CCxxx0_FSCAL3, 0XA9); halSpiWriteReg(CCxxx0_FSCAL2, 0X0A); halSpiWriteReg(CCxxx0_FSCAL1, 0X00); halSpiWriteReg(CCxxx0_FSCAL0, 0X11); halSpiWriteReg(CCxxx0_FSTEST, 0X59); halSpiWriteReg(CCxxx0_TEST2, 0X81); halSpiWriteReg(CCxxx0_TEST1, 0X35); halSpiWriteReg(CCxxx0_IOCFG2, 0X46); halSpiWriteReg(CCxxx0_IOCFG0, 0X0D); ///工作在异步串行模式 halSpiWriteReg(CCxxx0_PKTCTRL1, 0X04); halSpiWriteReg(CCxxx0_PKTCTRL0, 0X32); halSpiWriteReg(CCxxx0_ADDR, 0X00); halSpiWriteReg(CCxxx0_PKTLEN, 0XFF); } 自己总结的重点:(实验异步串行传输的ASK调制) 1:CC1101作为发射电路时,需要考虑CC1101 的数据传输速率,要能很好的和接收匹配,需要使设置的数据传输速率大些,具体该如何计算还未研究,注意如下:为CC1101数据手

PLC文件寄存器与HMI的配方的功能对比 摘要:在我们编程的过程中,有时会遇到PLC数据处理和数据运算所需的数据寄存器不足的情况,这时候,我们如果有HMI作为上位监控的情况下,我们会使用HMI的配方功能来处理一些数据运算,以此分担PLC的运算负担,但是,如果数据量较大,将HMI的配方传输到PLC中会花费比较长的时间。藉此我们可以使用文件寄存器来实现数据的快速响应。 关键词:PLC,HMI,文件寄存器,配方 一、介绍 在有些情况下,我们会因为处理的数据量比较大而用到HMI的配方,比如自动弹钢琴系统,但是,这时会产生一个问题就是将HMI中的配方下载到PLC中时会比较慢。在运行系统的时候会有一段等待的时间,这样就造成了客户在参观时的尴尬状态。 鉴于以上的问题,我们就可以使用PLC中的文件寄存器来代替配方。 文件寄存器(file register):当PLC处理数据和数值运算所需的数据寄存器不足时,可以利用文件寄存器来存储数据和各类参数。每个文件寄存器内为16位,即存有一个字,处理双字用相邻编号的两个文件寄存器。文件寄存器SA/SX/SC 系列机种一共有1600个,EH/EH2/SV系列机种一共有10000个。文件寄存器并没有实际的装置编号,所以需透过指令API 148 MEMR、API 149 MEMW或是透过周边装置HPP02及WPLSoft来执行晚间寄存器的读写功能。 注:装置表示:K0~K9999,无装置符号,顺序以十进制编号。 MEMR m D n文件寄存器数据读出 m: 欲读取文件寄存器的编号 D: 存放读取数据的位置,指定的D开始编号(D寄存器的起始编号为D2000)n : 一次读取的数据笔数 MEMW S m n 文件寄存器数据写入 S: 欲写入数据的位置,指定的D开始编号(D寄存器的起始编号为D2000)m: 欲写入文件寄存器的编号 n : 一次写入数据笔数 二、软件操作: 1、开启WPLSoft,选到通讯选项卡,如图(一) 图(一)

CPU各寄存器的作用- [Asm] 寄存器作用: ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系. 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,它们的使用频率很高; 寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 寄存器CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数; 寄存器DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。 寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。

决定启动位置。 下表描述了注册寄存器各个比特位的含义.

提示: 如果寄存器的值为0x2102表示根据NVRAM中的设置决定启动位置 在路由器开机时按住键盘上Ctrl+Break键也可以进入路由器的ROMmon 3)如何设置NVRAM中IOS的寻找和加载顺序 Router(config)# boot system flash [slot0:] [ios_filename] //表示从0号插槽的flash中加载IOS Router(config)# boot system rom //表示从ROM中加载IOS Router(config)# boot system tftp [ios_filename] [tftp-ip] //表示从TFTP服务器中加载IOS Router# copy run start //保存以上的 配置到NVRAM中 4)如何设置开机不加载配置文件 Step1: 使用console线把路由器的Console口和计算机的Com相连 Step2: 给路由器加电时并时按住键盘上的Ctrl+Break 键进入监控模式; Step3: 在监控模式下设置配置寄存器的值为0x2142,并重启路由器; 提示: 注册寄存器的第6位的取值决定路由器启动时是否加载配置 将配置寄存器的值设置为0x2142表示开机不加载配置文件但是配置文件仍然存放在NVRAM中。 Rommon>confreg 0x2102 //将寄存器的值改为0x2102(默认值) Rommon> reset //重启路由器 Cisco路由器寄存器详解 2011-05-13 17:36:38| 分类:CISCO 基础| 标签:路由器寄存器 nvram 启动模式|字号大中小订 阅 通过show version命令可以看到路由器配置寄存器的值,缺省情况下为0x2102。这四个数字每一个均有着重要的意义。下面从低到高进行一一的介绍。 第一个2,还原成二进制为0010,这一部分为boot field,对路由器IOS的启动起着至关重要的作用,当boot field 的值为2-15中的任何一个时,路由器属于正常启动,当此 值为0时,路由器启动后会进入ROMMON模式,此值为1时,路由器进入到RXBOOT模式(2500路由器的FLASH在配置寄存器的值为2102时属性为只读,如果要升级IOS必须把寄存器的值修改为2101) 0,还原成二进制为0000,这四位中,起关键作用的是第三位(即整个寄存器里面的BIT7),值为0,当路由器启动后会从NVRAM里面的配置文件调到RAM里运行,值为1,路由器启动后会忽略NVRAM的配置(这就是我们在进行PASSWORD RECOVERY时把寄存器的值改为2142 的原因) 1,还原成二进值为0001,我们来关注BIT8,值为0时,路由器在正常运行模式 下CTRL + BREAK无效;值为1,路由器在任何运行模式下只要按下CTRL + BREAK均会立即进入ROMMON模式。 第二个2,还原成二进制为0100,其中BIT13,当值为0时,路由器如果进行网络 启动会尝试无穷多次。当值为1时,路由器最多进行5次的网络启动尝试。 寄存器位数

术语翻译贡献者Absolute Translation绝对翻译古阿德克(Gouadec) Abstract Translation摘要翻译古阿德克(Gouadec) Abusive translation滥译路易斯(Lewis)Acceptability可接受性托利(Toury) Accuracy准确 Adaptation改编 Adequacy充分性 Adjustment调整 Analogical Form类同形式霍尔姆斯(Holmes)Analysis分析奈达(Nida)和泰伯(Taber)Applied Translation Studies应用翻译研究霍尔姆斯(Holmes)Architranseme (ATR)元译素范·路文兹瓦特(van Leuven-Zwart)Autonomy Spectrum自立幅度罗斯(Rose) Autotranslation自译波波维奇(Popovic) Back Translation回译 Bilateral interpreting双边传译凯斯(Keith)Class Shift词类转换韩礼德(Halliday)Close Translation贴近翻译纽马克(Newmark)Communicative Translation传意翻译;交际翻译纽马克(Newmark)Community interpreting社群传译 Compensation补偿赫维(Hervey) Competence能力托利(Toury)Componential Analysis语义成分分析奈达(Nida)Comprehensive theory综合理论

通用寄存器的作用 数据寄存器不讲,简单的说,段寄存器(ES,CS,SS,DS,FS,GS)和变址寄存器(SI,DI)是配合使用访问段数据的,指针寄存器(BP,SP)是用来操作堆栈的,BP指向栈的基址,SP则永远指向栈顶。 另外指令指针EIP存放的是要执行的下一条指令在代码段里的偏移量,在实方式下,每个段的最大范围都是64K,所以EIP的高16位都是0。 寄存器的分类寄存器主要用途 通用寄存器 数据 寄存器 AX 乘、除运算,字的输入输出,中间结果的缓存 AL 字节的乘、除运算,字节的输入输出,十进制算术运算 AH 字节的乘、除运算,存放中断的功能号 BX 存储器指针 CX 串操作、循环控制的计数器 CL 移位操作的计数器 DX 字的乘、除运算,间接的输入输出 变址 寄存器 SI 存储器指针、串指令中的源操作数指针 DI 存储器指针、串指令中的目的操作数指针 变址 寄存器 BP 存储器指针、存取堆栈的指针 SP 堆栈的栈顶指针 指令指针IP/EIP 标志位寄存器Flag/EFlag 32位CPU的段寄存器16位CPU的 段寄存器 ES 附加段寄存器 CS 代码段寄存器 SS 堆栈段寄存器 DS 数据段寄存器新增加的 段寄存器 FS 附加段寄存器 GS 附加段寄存器

--------------------------------- 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。 4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。 寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。 累加器可用于乘、除、输入/输出等操作,它们的使用频率很高; 寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 寄存器CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次 数;在位操作中,当移多位时,要用CL来指明移位的位数; 寄存器DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数 参与运算,也可用于存放I/O的端口地址。 在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。详细内容请见第3.8节——32位地址的寻址方式。 2、变址寄存器 32位CPU有2个32位通用寄存器ESI和EDI。其低16位对应先前CPU中的SI 和DI,对低16位数据的存取,不影响高16位的数据。 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式(在第3章有详细介绍),为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。具体描述请见第5.2.11节。 3、指针寄存器 32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP 和SP,对低16位数据的存取,不影响高16位的数据。 寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式(在第3章有详细介绍),为以不同的地址形式访问存储单元提供方便。

相关文档