汇编基础的基础

来源:互联网 发布:孕期软件哪个好 编辑:程序博客网 时间:2024/05/01 15:20

一、CUP和内存的访问

1:地址线,地址总线的宽度决定了CUP的寻址能力;

2:数据线,数据总线的宽度决定了CUP与其他器件进行数据传送时的一次数据传送量;

3:控制线,控制总线的宽度决定了CUP对系统中其他器件的控制能力

二、以8086CUP十六位为例寄存器(AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW)

1:通用寄存器:AX、BX、CX、DX(16位)

     由于上一代CUP为8位,为了保持兼容性

     AX可分为AH、AL。

     BX可分为BH、BL。

     CX可分为CH、CL。

     DX可分为DH、DL。

2:位:bit。字节:byte。字:word。

3:在CUP内部(运算器、控制器、寄存器等构成),在CUP内部之间的访问是16位,运算器一次最多处理16位数据、

     寄存器(用以存储)的最大宽度是16位。而真正CUP和内存条等外部器件访问时的物理地址是20位,因此出现了

    段地址和偏移地址以及地址加法器。即由16位的段地址和16位的偏移地址通过地址加法器变成20位的物理地址,通过

    输入输出控制电路,通过20位的地址总线、数据总线、控制总线和内存条访问。在地址加法器中,物理地址=段地址*16+偏移地址

4:段寄存器存储段地址即CS

   CS为代码段寄存器,IP为指令指针寄存器

    CS:IP(CS*16+IP),IP自动增加

5:修改CS、IP的内容

    jmp段地址:偏移地址

    jmp 2AE3:3  执行后:CS=2AE3H,IP=0003H ,CUP将从2AE33H出读取指令

    仅修改IP的内容,jmp某一合法寄存器

     jmp ax , 指令执行前:ax=1000H,CS=2000H,IP=0003H

                       指令执行后:ax=1000H,CS=2000H,IP=1000H

     相当于 mov IP,ax

6:DS和【address】存放访问数据的段地址

   mov bx,1000H

   mov ds,bx

    mov al,[0]

    默认段地址是ds,第三步【0】是偏移地址

7:栈,SS:SP指向栈顶元素(sp+-2)

0 0
原创粉丝点击