精华内容
下载资源
问答
  • <p style="text-align:center"><img alt="" src="https://img-ask.csdnimg.cn/upload/1623323608594.jpg" /></p>  </p>
  • 状态寄存器PSW

    千次阅读 2017-02-08 02:58:54
    31~22 21 20 19 18 17 16 15 14 12~13 11 10 9 8 7 6 5 4 3 2 1 0
    31~22 21 20 19 18 17 16 15 14 12~13 11 10 9 8 7 6 5 4 3 2 1 0
    Reserved(Set to 0) ID VIP VIF AC VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF


    CF

    PF

    AF

    ZF

    SF

    TF

    IF标志

    IF=0时,处理器不响应可屏蔽中断

    IF=1时,处理器会响应可屏蔽中断

    DF

    OF

    IOPL

    NT

    RF

    VM

    AC

    VIF

    VIP

    ID

















    展开全文
  • 标志寄存器PSW

    千次阅读 2020-03-09 22:57:41
    标志寄存器又称程序状态字PSW(Program Status Word) 标志Flag用于反映指令执行结果或控制指令的执行形式。许多指令执行后将影响有关的状态标志寄存器,不少指令的执行要利用某些标志,当然,也有很多指令与标志无关...

    标志寄存器

    标志寄存器又称程序状态字PSW(Program Status Word)
    标志Flag用于反映指令执行结果或控制指令的执行形式。许多指令执行后将影响有关的状态标志寄存器,不少指令的执行要利用某些标志,当然,也有很多指令与标志无关。

    处理器中用一个或多个二进制位表示一种标志,其0和1的不同组合表示标志的不同状态。Intel8086支持的标志形成了一个16位的标志寄存器FLAGS。以后各带80x86处理器有所增加,形成了32位的EFLAGS标志寄存器。

    状态标志

    状态标志是最基本的标志,用来记录指令执行结果的辅助信息。加减运算和逻辑运算指令是知足要设置状态标志的指令,其他有些指令的执行也会相应地设置它们。状态标志有6个,处理器主要使用其中5个构成各种条件,分支玲玲判断这些条件实现程序分支。从低位到高位一次是:进位标志CF(Carry Flag)、奇偶标志PF(Parity Flag)、辅助进位标志AF(Auxiliary Carry Flag)、零标志ZF(Zero Flag)、符号标志SF(Sign Flag)、溢出标志(Overflow Flag)

    控制标志

    IA-32处理器只有一个控制标志:方向标志DF(Direction Flag),该标志仅用于串操作指令,控制地址的变化方向

    系统标志

    系统标志用于控制操作系统或核心管理程序的操作方式,应用程序不应该修改它们。例如,**中断允许标志IF(Interrupt-enable Flag)**或简称中断标志,用于控制外部可屏蔽中断是否可以被处理器响应。再如,**陷阱标志TF(Trap Flag)**也常称为单步标志,用于控制处理器是否进入单步操作方式。

    8086具有9个基本标志,后续处理器增加的标志主要用于处理器控制,由操作系统使用。

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 标志寄存器PSW

    千次阅读 2009-06-18 21:02:00
    标志寄存器PSWSFR地址:0xD0接构: R/W R/W R/W R/W R/W R/W R/W R/WCyACF0RS1RS0OVF1PA

    标志寄存器PSW

    SFR地址:0xD0

    接构:

     

           R/W          R/W         R/W          R/W           R/W          R/W          R/W         R/W

    Cy

    AC

    F0

    RS1

    RS0

    OV

    F1

    PARITY

           7            6           5          4            3            2           1           0

     

    寻址方式:可以字节寻址,也可以位寻址。

    说明:

    Cy —— 进位标志。

    当最后一次算术操作产生进位(加法)或借位(减法)时,该位置1。其它算术操作将其清0

    AC —— 辅助进位标志。

    当最后一次算术操作向高半字节有进位(加法)或借位(减法)时,该位置1。其它算术操作将其清0

    F0 —— 用户标志位0

    这是一个可以位寻址、受软件控制的通用标志位,用户可根据需要,用软件的方式对其进行任意设定。

    RS1-RS0 —— 寄存器区选择。

    该两位在寄存器访问时,用于选择寄存器区。

     

    RS1

    RS0

    寄存器区

    地址

    0

    0

    0

    0x00-0x07

    0

    1

    1

    0x08-0x0F

    1

    0

    2

    0x10-0x17

    1

    1

    3

    0x18-0x1F

     

    OV —— 溢出标志位。

    该位在下列情况下被置1

    1、            ADDADDCSUBB指令引起符号位变化溢出。

    2、            MUL指令引起溢出(结果大于255)。

    3、            DIV指令的除数为0

    4、            ADDADDCSUBBMULDIV指令的其它情况使该位清0

    F1 —— 用户标志1

    这是一个可位寻址、受软件控制的通用标志位,用户可根据需要,用软件的方式对其进行任意设定。

    PARITY —— 奇偶标志。

    若累加器中8个位的和为奇数时该位置1,为偶数时该位清0

    特殊功能寄存器(SFR

    特殊功能寄存器存储器映象C8051F020

    F8

    SPI0CN

    PCA0H

    PCA0CPH0

    PCA0CPH1

    PCA0CPH2

    PCA0CPH3

    PCA0CPH4

    WDTCN

    F0

    B

    SCON1

    SBUF1

    SADDR1

    TL4

    TH4

    EIP1

    EIP2

    E8

    ADC0CN

    PCA0L

    PCA0CPL0

    PCA0CPL1

    PCA0CPL2

    PCA0CPL3

    PCA0CPL4

    RSTSRC

    E0

    ACC

    XBR0

    XBR1

    XBR2

    RCAP4L

    RCAP4H

    EIE1

    EIE2

    D8

    PCA0CN

    PCA0MD

    PCA0CPM0

    PCA0CPM1

    PCA0CPM2

    PCA0CPM3

    PCA0CPM4

     

    D0

    PSW

    REF0CN

    DAC0L

    DAC0H

    DAC0CN

    DAC1L

    DAC1H

    DAC1CN

    C8

    T2CON

    T4CON

    RCAP2L

    RCAP2H

    TL2

    TH2

     

    SMB0CR

    C0

    SMB0CN

    SMB0STA

    SMB0DAT

    SMB0ADR

    ADC0GTL

    ADC0GTH

    ADC0LTL

    ADC0LTH

    B8

    IP

    SADEN0

    AMX0CF

    AMX0SL

    ADC0CF

    P1MDIN

    ADC0L

    ADC0H

    B0

    P3

    OSCXCN

    OSCICN

     

     

    P74OUT†

    FLSCL

    FLACL

    A8

    IE

    SADDR0

    ADC1CN

    ADC1CF

    AMX1SL

    P3IF

     

    EMI0CN

    A0

    P2

    EMI0TC

     

    EMI0CF

    P0MDOUT

    P1MDOUT

    P2MDOUT

    P3MDOUT

    98

    SCON

    SBUF0

    SPI0CFG

    SPI0DAT

    ADC1

    SPI0CKR

    CPT0CN

    CPT1CN

    90

    P1

    TMR3CN

    TMR3RLL

    TMR3RLH

    TMR3L

    TMR3H

    P7†

     

    88

    TCON

    TMOD

    TL0

    TL1

    TH0

    TH1

    CKCON

    PSCTL

    80

    P0

    SP

    DPL

    DPH P

    4†

    P5†

    P6†

    PCON

     

    0(8)

    可位寻址

    1(9)

    2(A)

    3(B)

    4(C)

    5(D)

    6(E)

    7(F)

     

    特殊功能寄存器(C8051F020

     

    序号

    寄存器

    地址

    页码

    1

    ACC

    0xE0

    累加器

    101

    2

    ADC0CF

    0xBC

    ADC0配置寄存器

    39*,55**

    3

    ADC0CN

    0xE8

    ADC0控制寄存器

    40*,56**

    4

    ADC0GTH

    0xC5

    ADC0下限(大于)数据字(高字节)

    43*,59**

    5

    ADC0GTL

    0xC4

    ADC0 下限(大于)数据字(低字节)

    43*,59**

    6

    ADC0H

    0xBF

    ADC0 数据字(高字节)

    41*,57**

    7

    ADC0L

    0xBE

    ADC0 数据字(低字节)

    41*,57**

    8

    ADC0LTH

    0xC7

    ADC0 上限(小于)数据字(高字节)

    43*,59**

    9

    ADC0LTL

    0xC6

    ADC0 上限(小于)数据字(低字节)

    43*,59**

    10

    ADC1CF

    0xAB

    ADC1 配置寄存器

    69

    11

    ADC1CN

    0xAA

    ADC1 控制寄存器

    70

    12

    ADC1

    0x9C

    ADC1 数据字

    71

    13

    AMX0CF

    0xBA

    ADC0 MUX 配置寄存器

    37*,53**

    14

    AMX0SL

    0xBB

    ADC0 MUX 通道选择寄存器

    38*,54**

    15

    AMX1SL

    0xAC

    ADC1 MUX 通道选择寄存器

    69

    16

    B

    0xF0

    B 寄存器

    101

    序号

    寄存器

    地址

    页码

    17

    CKCON

    0x8E

    时钟控制寄存器

    204

    18

    CPT0CN

    0x9E

    比较器0 控制寄存器

    85

    19

    CPT1CN

    0x9F

    比较器1控制寄存器

    86

    20

    DAC0CN

    0xD4

    DAC0控制寄存器

    75

    21

    DAC0H

    0xD3

    DAC0数据字(高字节)

    74

    22

    DAC0L

    0xD2

    DAC0数据字(低字节)

    74

    23

    DAC1CN

    0xD7

    DAC1控制寄存器

    77

    24

    DAC1H

    0xD6

    DAC1数据字(高字节)

    76

    25

    DAC1L

    0xD5

    DAC1数据字(低字节)

    76

    26

    DPH

    0x83

    数据指针(高字节)

    99

    27

    DPL

    0x82

    数据指针(低字节)

    99

    28

    EIE1

    0xE6

    扩展中断允许1

    107

    29

    EIE2

    0xE7

    扩展中断允许2

    108

    30

    EIP1

    0xF6

    扩展中断优先级1

    109

    31

    EIP2

    0xF7

    扩展中断优先级2

    110

    32

    EMI0CN

    0xAF

    外部存储器接口控制寄存器

    131

    33

    EMI0CF

    0xA3

    外部存储器接口配置寄存器

    131

    34

    EMI0TC

    0xA1

    外部存储器接口时序控制寄存器

    136

    35

    FLACL

    0xB7

    FLASH访问限制

    127

    36

    FLSCL

    0xB6

    FLASH存储器定时预分频器

    128

    37

    IE

    0xA8

    中断允许寄存器

    105

    38

    IP

    0xB8

    中断优先级控制寄存器

    106

    39

    OSCICN

    0xB2

    内部振荡器控制寄存器

    121

    40

    OSCXCN

    0xB1

    外部振荡器控制寄存器

    122

    41

    P0

    0x80

    端口0锁存器

    156

    42

    P0MDOUT

    0xA4

    端口0输出方式配置寄存器

    156

    43

    P1

    0x90

    端口1锁存器

    157

    44

    P1MDIN

    0xBD

    端口1输入方式寄存器

    157

    45

    P1MDOUT

    0xA5

    端口1输出方式配置寄存器

    158

    46

    P2

    0xA0

    端口2锁存器

    158

    47

    P2MDOUT

    0xA6

    端口2输出方式配置寄存器

    158

    48

    P3

    0xB0

    端口3锁存器

    159

    49

    P3IF

    0xAD

    端口3中断标志寄存器

    160

    50

    P3MDOUT

    0xA7

    端口3输出方式配置寄存器

    159

    51

    P4

    0x84

    端口4锁存器

    163

    52

    P5

    0x85

    端口5锁存器

    163

    53

    P6

    0x86

    端口6锁存器

    164

    54

    P7

    0x96

    端口7锁存器

    164

    55

    P74OUT

    0xB5

    端口4-7输出方式寄存器

    162

    56

    PCA0CN

    0xD8

    PCA控制寄存器

    236

    57

    PCA0CPH0

    0xFA

    PCA捕捉模块0高字节

    239

    序号

    寄存器

    地址

    页码

    58

    PCA0CPH1

    0xFB

    PCA捕捉模块1高字节

    239

    59

    PCA0CPH2

    0xFC

    PCA捕捉模块2高字节

    239

    60

    PCA0CPH3

    0xFD

    PCA捕捉模块3高字节

    239

    61

    PCA0CPH4

    0xFE

    PCA捕捉模块4高字节

    239

    62

    PCA0CPL0

    0xEA

    PCA捕捉模块0低字节

    239

    63

    PCA0CPL1

    0xEB

    PCA捕捉模块1低字节

    239

    64

    PCA0CPL2

    0xEC

    PCA捕捉模块2低字节

    239

    65

    PCA0CPL3

    0xED

    PCA捕捉模块3低字节

    239

    66

    PCA0CPL4

    0xEE

    PCA捕捉模块4低字节

    239

    67

    PCA0CPM0

    0xDA

    PCA 模块0 方式寄存器

    238

    68

    PCA0CPM1

    0xDB

    PCA 模块1 方式寄存器

    238

    69

    PCA0CPM2

    0xDC

    PCA 模块2 方式寄存器

    238

    70

    PCA0CPM3

    0xDD

    PCA 模块3 方式寄存器

    238

    71

    PCA0CPM4

    0xDE

    PCA 模块4 方式寄存器

    238

    72

    PCA0H

    0xF9

    PCA计数器高字节

    239

    73

    PCA0L

    0xE9

    PCA计数器低字节

    239

    74

    PCA0MD

    0xD9

    PCA方式寄存器

    237

    75

    PCON

    0x87

    电源控制寄存器

    112

    76

    PSCTL

    0x8F

    程序存储读写控制寄存器

    128

    77

    PSW

    0xD0

    程序状态字

    100

    78

    RCAP2H

    0xCB

    定时器/计数器2捕捉(高字节)

    216

    79

    RCAP2L

    0xCA

    定时器/计数器2捕捉(低字节)

    216

    80

    RCAP4H

    0xE5

    定时器/计数器4捕捉(高字节)

    225

    81

    RCAP4L

    0xE4

    定时器/计数器4捕捉(低字节)

    225

    82

    REF0CN

    0xD1

    电压基准控制寄存器

    79†,81††

    83

    RSTSRC

    0xEF

    复位源寄存器

    118

    84

    SADDR0

    0xA9

    UART0从地址寄存器

    193

    85

    SADDR1

    0xF3

    UART1从地址寄存器

    202

    86

    SADEN0

    0xB9

    UART0从地址允许寄存器

    193

    87

    SADEN1

    0xAE

    UART1从地址允许寄存器

    202

    88

    SBUF0

    0x99

    UART0数据缓冲器

    193

    89

    SBUF1

    0xF2

    UART1数据缓冲器

    202

    90

    SCON0

    0x98

    UART0控制寄存器

    192

    91

    SCON1

    0xF1

    UART1控制寄存器

    201

    92

    SMB0ADR

    0xC3

    SMBus0从地址寄存器

    174

    93

    SMB0CN

    0xC0

    SMBus0控制寄存器

    172

    94

    SMB0CR

    0xCF

    SMBus0时钟速率寄存器

    173

    95

    SMB0DAT

    0xC2

    SMBus0数据寄存器

    174

    96

    SMB0STA

    0xC1

    SMBus0状态寄存器

    175

    97

    SP

    0x81

    堆栈指针

    99

    98

    SPI0CFG

    0x9A

    SPI配置寄存器

    182

    序号

    寄存器

    地址

    页码

    99

    SPI0CKR

    0x9D

    SPI时钟速率寄存器

    184

    100

    SPI0CN

    0xF8

    SPI控制寄存器

    183

    101

    SPI0DAT

    0x9B

    SPI数据寄存器

    184

    102

    T2CON

    0xC8

    定时器/计数器2控制寄存器

    215

    103

    T4CON

    0xC9

    定时器/计数器4控制寄存器

    224

    104

    TCON

    0x88

    定时器/计数器控制寄存器

    208

    105

    TH0

    0x8C

    定时器/计数器0 高字节

    210

    106

    TH1

    0x8D

    定时器/计数器1 高字节

    210

    107

    TH2

    0xCD

    定时器/计数器2 高字节

    216

    108

    TH4

    0xF5

    定时器/计数器4 高字节

    225

    109

    TL0

    Ox8A

    定时器/计数器0 低字节

    210

    110

    TL1

    0x8B

    定时器/计数器1 低字节

    210

    111

    TL2

    0xCC

    定时器/计数器2 低字节

    216

    112

    TL4

    0xF4

    定时器/计数器4 低字节

    225

    113

    TMOD

    0x89

    定时器/计数器方式寄存器

    209

    114

    TMR3CN

    0x91

    定时器3 控制寄存器

    218

    115

    TMR3H

    9x95

    定时器3 高字节

    219

    116

    TMR3L

    0x94

    定时器3 低字节

    219

    117

    TMR3RLH

    0x93

    定时器3 重载值高字节

    219

    118

    TMR3RLL

    0x92

    定时器3 重载值低字节

    218

    119

    WDTCN

    0xFF

    看门狗定时器控制

    117

    120

    XBR0

    0xE1

    端口I/O 交叉开关控制0

    153

    121

    XBR1

    0xE2

    端口I/O 交叉开关控制1

    154

    122

    XBR2

    0xE3

    端口I/O 交叉开关控制2

    155

    123

    0x97 0xA2 0xB3

    0xB4 0XCE 0xDF

    保留

    *寄存器只在C8051F020/1 中存在。

    **寄存器只在C8051F022/3 中存在。

    寄存器只在C8051F020/2 中存在。

    ††寄存器只在C8051F021/3 中存在。

    展开全文
  • 标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW) 标志寄存器PSW是一个16为的寄存器。它反映了CPU运算的状态特征并且存放某些控制标志。8086使用了16位中的9位,包括6个状态标志位和3个控制标志位。 CF(进位标志位...

    标志寄存器PSW

    标志寄存器PSW(程序状态字寄存器PSW)
       标志寄存器PSW是一个16为的寄存器。它反映了CPU运算的状态特征并且存放某些控制标志。8086使用了16位中的9位,包括6个状态标志位和3个控制标志位。

    CF(进位标志位):当执行一个加法(减法)运算时,最高位产生进位(或借位)时,CF为1,否则为0。
    ZF零标志位:若当前的运算结果为零,则ZF为1,否则为0。
    SF符号标志位:该标志位与运算结果的最高位相同。即运算结果为负,则SF为1,否则为0。
    OF溢出标志位:若运算结果超出机器能够表示的范围称为溢出,此时OF为1,否则为0。判断是否溢出的方法是:进行二进制运算时,最高位的进位值与次高位的进位值进行异或运算,若运算结果为1则表示溢出OF=1,否则OF=0

    PF奇偶标志:当运算结果的最低16位中含1的个数为偶数则PF=1否则PF=0
    AF辅助进位标志:一个加法(减法)运算结果的低4位向高4位有进位(或借位)时则AF=1否则AF=0  

       另外还有三个控制标志位用来控制CPU的操作,可以由程序进行置位和复位。
    TF跟踪标志:该标志位为方面程序调试而设置。若TF=1,8086/8088CPU处于单步工作方式,即在每条指令执行结束后,产生中断。
    IF中断标志位:该标志位用来控制CPU是否响应可屏蔽中断。若IF=1则允许中断,否则禁止中断。
    DF方向标志:该标志位用来控制串处理指令的处理方向。若DF=1则串处理过程中地址自动递减,否则自动递增。

    OD里能查看到 除IF标志外的 8个标志位

    汇编条件转移指令解释

    可以通过以下程序理解上述有符号条件转移指令

    void main(){
    int a=3,b=5;
        if (a!=b) //je
            if (a==b) //jnz
                if (a<=b) //jg
                    if (a<b) //jge
                        if (a>=b) //jl
                            if (a>b)//jle
                            {
                                printf("do if");
                            }
    }
    return 0;

    转载于:https://www.cnblogs.com/Reyzal/p/5142355.html

    展开全文
  • 程序状态字寄存器PSW

    千次阅读 2013-04-27 00:33:00
    程序状态字寄存器PSW(program status word)是计算机运算器的一部分。 PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CY位),有无溢出(OV位)等;另一类是存放控制信息,如允许...
  • 在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器PSW)。这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充...
  • 【汇编语言】标志寄存器PSW

    千次阅读 2020-09-28 20:33:19
    标志寄存器的各标志位的简单介绍
  • 标志寄存器PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 ...
  • PSW又叫标志寄存器FR 各标志位如下: 条件跳转指令如je、jg、bgt等,都是通过cmp比大小实现的 cmp op1 op2 无符号数cmp 用到ZF和CF ①当ZF=1,说明op1=op2 ②当ZF=0,CF=1时,有借位,op1<op2 ③当ZF=0,CF=0时,...
  • l 汇编减法指令sub l 初识标志位 l 标志寄存器PSW l ZF(零标志)     l 一、标志寄存器PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
  • 51单片机寄存器

    千次阅读 2013-10-24 09:55:32
    大家都知道51单片机有的寄存器R0-R7共有四组。... 通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。 RS1 
  • 寄存器

    2019-10-08 04:59:00
    一、简介 寄存器组是CPU中的一个重要组成部分,它是CPU内部的临时存储空间。寄存器既可以用来存放数据和地址,也可以存放控制信息或CPU工作时的状态。...PSW:状态字寄存器;通用寄存器组。 三、优点、缺点 在...
  • 大家都知道51单片机有的...首先介绍一下51的寄存器组:通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。RS1RS0...
  • 51单片机中断寄存器组选择

    千次阅读 2012-11-14 09:42:00
     通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。 RS1 RS0 字节地址  0 0 0组寄存器 00H~07H  0 1...
  • 标志寄存器(FLAGS,PSW,FR)简介

    千次阅读 2020-06-25 18:12:53
    标志寄存器简介 8086CPU中设立了一个两字节的标志寄存器,有9个标志位,其中6个用来表示运算结果的状态包括CF、PF、AF、ZF、SF、OF,称为状态标志位,另外3个是控制标志位,用来控制CPU的操作,包括IF、DF和TF。 各...
  • 大家都知道51单片机有的寄存器R0-R7共有四组。最近1年来,我在与新手朋友交流时发现,很多朋友对寄存器组的使用时经常出现问题。...通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进...
  • 嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器、累加器和程序状态字)累加器A寄存器B程序状态字PSW 累加器A 累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特殊用途的二进制8位寄存器,专门用来...
  •  CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式。  内核态:当CPU运行在内核态时,程序可以访问所有指令集,操作所有硬件设备,也可以将自己从一个程序切换到另一个程序。 ...
  • 寄存器,此时打开寄存器窗口,但是该窗口只有通用寄存器,这个时候右键,选择"标志",然后在寄存器窗口中会显示出标志寄存器的值 一:奇偶标志位PF(也叫PE):计算结果如果低8位有偶数个1,则PF为1,有奇数个1则为0...
  •  首先介绍一下51的寄存器组: 通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。RS1 RS0 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 745
精华内容 298
关键字:

psw寄存器