cpu资源和存储器

    寄存器是cpu 内部的重要的数据存储资源, 是汇编程序员能直接使用的硬件资源之一。

    寄存器的特点:

       1.  寄存器是汇编程序员能直接使用的硬件资源之一。

        2. 寄存器的存取速度比内存快, 编程时尽可能充分利用寄存器地存储功能

        3。寄存器一般用来保存程序的中间结果

       4。寄存器地个数有限

       5。 寄存器有“能分能合”的特性

 

在16位cpu系统中

1. 通用寄存器包括:AX  BX  CX   DX

        AX、AL(累加器)的作用:  用累加器运算课加快处理速度, 用于乘、除、输入输出等操作

       BX (基地址寄存器): 作为存储器指针

       CX、CL(计数寄存器): 在循环和字符串操作中, CX来控制循环次数, CL用来指明移动的位数

       寄存器DX(数据寄存器):在进行乘、除运算时,它可作为默认的操作数参与运算, 也可用于存放 I/O 的端口地址     

 

段寄存器:

     CS (code segment register) ---  代码段寄存器   : 存放程序指令序列的段

     DS (data segment register)---   数据段寄存器  : 存放程序指令执行时所需要的数据的段

    SS   (stack segment register)---  堆栈断寄存器  : 实施堆栈操作的段

    ES(  extra segment register) ---   附加段寄存器 : 存放程序执行时所需要的数据

 

此外,还有变址和指针寄存器,  变址和指针寄存器的主要作用是用于  存放存储单元的段内的偏移量, 用它们可表达多种访问内存的寻址方式。   变址和指针寄存器不可分割成8位寄存器, 作为通用寄存器他们可以存放算术逻辑运算的操作数和运算结果。

    1.  变址寄存器(Index Register ):SI    DI

     2.  指针寄存器(Pinter Register): BP   SP

           1.  BP为基址针(Base Pointer)寄存器: 用它可以直接存取堆栈中的数据

            2. SP为堆栈指针(Stack  Pointer)寄存器 :用它可访问栈顶的数据

 

 

16位标志寄存器——共用了9个标志位,它们主要用来反映CPU的状态和运算结果的特征。标志位的分布如下表所示。

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

  

  

  

  

OF

DF

IF

TF

SF

ZF

  

AF

  

PF

  

CF

    1、进位标志CF(Carry Flag)主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0

    2、奇偶标志PF(Parity Flag)用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0

    3、零标志ZF(Zero Flag)用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0

    4、符号标志SF(Sign Flag)用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1

    5、溢出标志OF(Overflow Flag)用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0

    6、追踪标志TF(Trap Flag)被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。

    7、方向标志DF(Direction Flag)用来决定在串操作指令执行时有关指针寄存器发生调整的方向。Cld指令:将标志寄存器的DF位置0Std指令:将标志寄存器的DF位置1

    8、中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。

(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;

(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求

Sti用于设置IF=1Cli用于设置IF=0

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值