(二)我学汇编的那几年-寄存器篇

何为寄存器。通过名字翻译就是可以寄存数据的一个玩意

接下来上个图。再解释他的作用。


2990730-13132bfb35556f63.png

通过上面的图片就可以看出来他就是用来临时储存数据的

咱们先说说段寄出去
  • 这个段寄存器主要用来储存临时数据的。
    -段寄存器在8086里面有4个。
    1.ax 2.bx 3.cx 4.dx

每个段寄存器又分为高低位寄存
1.ax = ah, al
2.bx = bh, bl
3.cs = ch, cl
4.dx = dh, dl

何为高低寄存
比如我们内存有一个数。2244H,
这是一个16进制。
因为每个段只能储存一个字节。也就是只能储存44
那么22怎么办。
ax就相当于两个地址的储存。
ah 会储存 22这个位置高的数据。
al就会储存44这个位置低的数据。
位置指指数据地址的位置

个人理解:
  • 程序 -> 修改寄存器 -> 控制cpu操作电脑
说到寄存器咱们首先想到应该是内存
  • 寄存器每个地址段只能储存8个bit,就是1个字节

11111111 这就是1字节
16进制也就是FF

  • 通过以上结出。存储2个字节就得需要两个地址段。

寄存器类别

通用寄存器:

AX,BX,CX,DX 称作为数据寄存器:

1.AX (Accumulator):累加寄存器,也称之为累加器;

2.BX (Base):基地址寄存器;

3.CX (Count):计数器寄存器;

4.DX (Data):数据寄存器;

5.SP 和 BP 又称作为指针寄存器:

6.SP (Stack Pointer):堆栈指针寄存器;

7.BP (Base Pointer):基指针寄存器;

SI 和 DI 又称作为变址寄存器:

1.SI (Source Index):源变址寄存器;

2.DI (Destination Index):目的变址寄存器;

控制寄存器:

1.IP (Instruction Pointer):指令指针寄存器;

2.FLAG:标志寄存器;

段寄存器:

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

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

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

4.ES (Extra Segment):附加段寄存器;

寄存器取值方式:
mov ax, 11H ;赋值给ax段寄存器
mov ds, ax ;取出ax数值,给ds
mov bx, ds[0]  ;取出ds的第一个值给bx

其实寄存器很多是通用的。只是大家普遍这么储存。
习惯成自然。

也就是说所有的寄存器都可以通过
ds[0],ss[0],cs[0]...
这种方式取值。0不是固定的可以根据需要填写。
就像高级语言列表的索引一样

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 8,145评论 1 10
  • 1.地址总线,数据总线,控制总线在哪里,它们有什么作用?答:它们都是cpu连接外部组件的线路。地址总线:地址总线A...
    MagicalGuy阅读 1,530评论 0 1
  • 这学期有了汇编课,但个人感觉这部分难度还是有一些的,所以写了这篇简书当做自己对于知识的复习,同时也是希望能够再次加...
    kl_w阅读 6,768评论 0 7
  • 1、数据寄存器ax、bx、cx、dx4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-...
    倒数第三阅读 1,767评论 0 1
  • 前一段时间老爸心脏手术后心跳依然不正常,需要做电转复。 好几个朋友都问什么是电转复,这个手术大吗? 医学上的术语我...
    海星_love阅读 107评论 4 5