精华内容
下载资源
问答
  • 我在书上看到的:执行pushl S时, ...R[%esp]表示寄存器中的值,M[A]表示存储器地址为A的存储区域中存的值。 上面的代码是不是表示执行入栈操作时,是将入栈的数据的地址放在堆栈寄存器中,而不是数据本身?
  • mov ax ,0 mov bx, ax 0是存在ax寄存器的任意位置还是首地址处,如果是任意位置那系统怎么知道找到这个位置的值传给bx呢?求指导。
  • 寄存器什么什么作用

    千次阅读 2016-11-16 10:32:41
    寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。 ...寄存器的用途: ...2.寄存器内的地址可用来指向内存的某个位置,即寻址。 3.可以用来读写数据到电脑的周

    转载于:http://blog.csdn.net/qikaibinglan/article/details/5444227


    寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

    寄存器的用途:

    1.可将寄存器内的数据执行算术及逻辑运算。

    2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。

    3.可以用来读写数据到电脑的周边设备。

    8086 有8个8位数据寄存器,

    这些8位寄存器可分别组成16位寄存器:

    AH&AL=AX:累加寄存器,常用于运算;

    BH&BL=BX:基址寄存器,常用于地址索引;

    CH&CL=CX:计数寄存器,常用于计数;

    DH&DL=DX:数据寄存器,常用于数据传递。

    为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

    CS(Code Segment):代码段寄存器;

    DS(Data Segment):数据段寄存器;

    SS(Stack Segment):堆栈段寄存器;

    ES(Extra Segment):附加段寄存器。

    当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。

    除了前面所提的寄存器外,还有一些特殊功能的寄存器:

    IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;

    SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。

    BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;

    SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;

    DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

    还有一个标志寄存器FR(Flag Register),有九个有意义的标志(

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

    DF: 方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

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

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

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

    TF: 状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变

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

    ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。

    AF: 下列情况下,辅助进位标志AF的值被置为1,否则其值为0:

    (1)、在字操作时,发生低字节向高字节进位或借位时;

    (2)、在字节操作时,发生低4位向高4位进位或借位时。

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

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

    以上是8086寄存器的整体概况, 自80386开始,PC进入

    32bit时代,其寻址方式,寄存器大小, 功能等都发生了变化, 要想学习这方面知识请参考相应资料

    展开全文
  • 寄存器

    2020-07-19 15:39:33
    想往寄存器中存一个值,命令为 mov eax,1 32位寄存器可以看成4个8位寄存器,或2个16位寄存器,组合成的,如下 总结: 1、寄存器分8,16,32,64位 2、8位寄存器又分低八位和高八位 3、寄存器寄存器赋值,宽度...

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    想往寄存器中存一个立即数,命令为

    mov eax,1
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    32位寄存器可以看成4个8位寄存器,或2个16位寄存器,组合成的,如下

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    总结:
    1、寄存器分8,16,32,64位
    2、8位寄存器又分低八位和高八位
    3、寄存器和寄存器赋值,宽度要保持一致

    展开全文
  • 最近在搞一个东西,就是想用汇编语言让单片机的一个寄存器里面的数字在lcd12864上面显示,请问谁能给我一个思路或者汇编代码啊
  • 什么是寄存器,数据寄存器

    千次阅读 2020-04-01 12:18:19
    寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据...2.寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。 8086有8个8位数据寄存器, 这些8位寄存器可分别组...

    https://zhidao.baidu.com/question/2114222516098572027.html

     

    寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。
    用途:
    1.可将寄存器内的数据执行算术及逻辑运算。
    2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。
    3.可以用来读写数据到电脑的周边设备。

    8086有8个8位数据寄存器,

    一): 这些8位寄存器可分别组成16位寄存器:
    AH&AL=AX:累加寄存器,常用于运算;
    BH&BL=BX:基址寄存器,常用于地址索引;
    CH&CL=CX:计数寄存器,常用于计数;
    DH&DL=DX:数据寄存器,常用于数据传递。

    二): 为了运用所有的内存空间,8086设定了四个段寄存器,
    专门用来保存段地址:
    CS(Code Segment):代码段寄存器;
    DS(Data Segment):数据段寄存器;
    SS(Stack Segment):堆栈段寄存器;  
    ES(Extra Segment):附加段寄存器。
    当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,
    通过设定段寄存器 CS,DS,SS 来指向这些起始位置。

    通常是将DS固定,而根据需要修改CS。
    所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 
    所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。
    8086以内存做为战场,用寄存器做为军事基地,以加速工作。

    除了前面所提的寄存器外,还有一些特殊功能的寄存器:
    IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;
    SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。
    BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;
    SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;
    DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

    还有一个标志寄存器FR(Flag Register),有九个有意义的标志(
    OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。
    如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0.
    DF: 方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

     

    在汇编语言中,堆栈操作的最小单位是字,也就是说,只能以字或双字为单位。

    SS:SP指向栈顶(SS为堆栈段寄存器,SP为堆栈指针,二者一相加,就构成了堆栈栈顶的内存地址)。

    https://blog.csdn.net/andrewniu/article/details/80566277

    CS、IP和PC寄存器
    https://www.cnblogs.com/zhuge2018/p/8466288.html
     

    https://www.cnblogs.com/Erma/p/9737351.html

    展开全文
  • 什么是DPTR寄存器

    2021-04-26 18:16:30
    作用可以跟通用寄存器类比一下, 一般都是用作间接寻址。(看下面例子)‘ 不同的是通用寄存器只能适用于内部RAM的读取和写入。DPTR是专门为16位(或者小于16位)的外部RAM或者外部ROM准备用于读取和写入的。 in 8051...

    DPRT 中文译名 数据指针data pointer, 是一个16位的特殊寄存器(至少在51中是16位). 其设计初衷是用于跟外部ROM和外部RAM. 寻址方式是间接寻址,一般搭配MOVX使用。
    一般用法 :
    movx a,@dptr 读取外部内存某一个地址(即dptr所存的值)的内容到A
    movx @dptr, a 将A的内容写入外部内存某一个地址(即dptr所存的值)

    DPTR作用作为数据指针来讲(正常一个经典8051只有一个DPTR)
    作用可以跟通用寄存器类比一下, 一般都是用作间接寻址。(看下面例子)‘

    不同的是通用寄存器只能适用于内部RAM的读取和写入。DPTR是专门为16位(或者小于16位)的外部RAM或者外部ROM准备用于读取和写入的。

    in 8051,R0 and R1 can be used as pointer
    we store required address as data in R0 or R1 and @ will give u data at that address.
    so the code would go like:
    (这个例子展现了循环多次给30h-100h 连续地址赋值)
    mov R0,#30h
    mov 05h,#100
    back:
    mov @R0,#15h
    inc R0
    DJNZ 05h,back

    thats it. even if u increase the number of locations, the program size remains same. only change the loop count.
    this is the use of pointer. R0 and R1 are suitable for internal RAM memory as it can point 8 bit address only.
    what if we want to access External RAM and External ROM. As their address size is 16 bit. therefore they introduced new pointer called data pointer (DPTR).
    where DPTR holds the address and @dptr gives value at that address.
    eg:

    mov dptr,#1000h
    movx a,@dptr

    this instruction set is used to read data of ext RAM at location 1000h

    展开全文
  • 从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外...
  • CPU寄存器

    2021-04-11 13:17:46
    在CPU至少要存在六种寄存器 指令寄存器(IR) 程序计数器(PC) 地址寄存器(AR) 数据寄存器(DR) 累加寄存器(AC) 程序状态字寄存器(PSW)。 这些寄存器用来暂一个计算机字,其数目可以根据需要进行扩充...
  • 通用寄存器

    2021-07-22 23:42:38
    8个通用寄存器是指寄存器中存什么存什么,还有一些寄存器是专用的,有专业用途。 一、通用寄存器 1.1寄存器 1.2不同位数寄存器含义 16位AX是EAX一半,且只有低一半,就像下图的0001一样。 AL是低8位,...
  • 第5章 什么是寄存器

    千次阅读 2018-06-07 21:46:20
    本章参考资料:《STM32F76xxx参考手册》、《STM32F76xxx数据手册》、学习...5.1 什么是寄存器我们经常说寄存器,那么什么是寄存器?这是我们本章需要讲解的内容,在学习的过程,大家带着这个疑问好好思考下,到最...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,448
精华内容 31,779
关键字:

寄存器中存的是什么