【汇编语言】——第二章课后总结

第二章最主要的内容如下:
1、通用寄存器:AX,BX,CX,DX;
2、汇编指令:mov add等指令;
3、8086CPU给出物理地址的方法(用两个16位地址合成的方法形成一个20位的物理地址);
4、CS(段寄存器) IP(指针寄存器 );
5、修改CS,IP的指令;

一.通用寄存器

1.  8086CPU所有的寄存器都是16位的,可以存放两个字节。

2.  AX、BX、CX、DX,4个寄存器通常用来存放一般性数据,被称为通用寄存器。

3.  一个16位的寄存器可以存储一个16位的数据。    思考:一个16位的寄存器所能存储的数据最大值为多少?

4.  8086CPU的AX、BX、CX、DX(16位寄存器)每个都可以分为两个可独立使用的8位寄存器来用:

    AX可分为AH、AL;

    BX可分为BH、BL;

    CX可分为CH、CL;

    DX可分为DH、DL;

二.几个常用的汇编指令

mov 和add

  mov a, b 指把a=b;a通常是寄存器,如:mov ax,18指将18送入寄存器ax

  add  a, b指a=a+b;   a通常是寄存器,如:add ax,18指将寄存器ax的数值加上18

注意:

  由于通用寄存器只能存储16位的数据,所以如果将一个大于16位的数据放入寄存器就会损失最高位;

  使用add,mov指令时,只能对相同类型的寄存器操作,即只能ax,bx,cx,dx之间操作不能,ax,ah等之间操作。

三.物理地址的存储方式

物理地址=段地址x16+偏移地址

物理地址=段地址*16+偏移地址的本质含义:CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

段地址的概念:段并不是指内存是分段的,段的划分来自于CPU,是因为8086CPU用“物理地址=段地址*16+偏移地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。以后,在编程是可以根据需要,将若干地址连续的内存单元看作一个段,用段地址*16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。一个段的长度最大为64KB。

四.CS和IP

1.CS和IP是8086CPU中最关键的寄存器。

2.CS为代码段寄存器,用于存放代码段的段地址。

3.IP为指令指针寄存器,用于存放CPU将要读取的指令在代码段中的偏移地址。

4.CS:IP对应的物理地址存放是CPU将要读取的指令。

5.8086机中,CPU将CS:IP指向内容当作指令执。

五.修改CS,IP的指令

jmp 段地址:偏移地址

 

猜你喜欢

转载自www.cnblogs.com/hongyezhu/p/10004489.html