1 寄存器是CPU中程序员可以用指令读写的部件,通过改变寄存器中的内容来实现对CPU的控制。
2 8086CPU有14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.
3 8086CPU所有的寄存器都是16位的,可以放两个字节,AX.BX.CX.DX用来存放一般数据,称为通用寄存器。
4 AX,BX,CX,DX由两个8位寄存器组成:AL,AH,BL,BH,CL,CH,DL,DH。
5 一个字节由8个bit组成,可以放在8位寄存器中。一个字由2个字节组成,两个字节为高位字节和低位字节。
6 任何数据都是以二进制单位存储的,也就是说计算机中的数据由1-N个8位数据组成的。
7 mov ax,18 mov ah,18 add ax,6 mov ax,bx add ax,bx 两个指令:MOV 送入数据 ADD 相加数据 指令不区分大小写。
8 ax:8226H bx 8226H add ax,bx 044CH 第一位的1省略。 ax:00C5H add al,93h ax:0058H 第一位的在这个寄存器中1省略。
9 8位和16位寄存器之间不能传递数据。
10 8086CPU是16位结构:运算器最多可以处理16位的数据,寄存器的最大宽度为16位,寄存器和运算器之间的通路为16位。
11 地址加法器:物理地址=段地址*16+偏移地址 段地址*16也称为左移4位,指的是2进制下的数值左移4位。2^4=16。
12 CPU访问内存时,以一个基础地址(段地址*16)和一个相对于基础地址的偏移底子相加,给出内存单元的物理地址。
13 段地址不是内存分配的而是CPU标识的,一个段地址的长度最大为64KB,段地址*16必然为16的倍数,所以一个段的起始地址也为16的倍数,偏移地址为16位,寻址能力为64KB。所以将地址连续,起始地址为16倍数的一组内存定义为一个段。
14 CPU可以用不同的段地址和偏移地址形成同一个物理地址,如21F60H的物理地址,只要SA*16+EA=21F60H就可以。
15 CS个IP是8060CPU中最关键的两个寄存器,CS为代码段寄存器,IP为指令指针寄存器,CPU将CS:IP指向内存的内容当指令执行。
16 CPU从何处执行指令是由CS:IP中的内容决定的,MOV 是传送指令,JMP 为修改CS:IP的指令,jmp ax, 执行前 ax=1000H CS=2000H IP=0003H 执行后 ax=1000H CS=2000H IP=1000H
17 8086CPU工作过程:从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器,IP指向下一条指令,执行指令并开始循环这个过程。
18 DEBUG R-查看改变寄存器内容 D-查看内容 E-改写内存中的内容 U-将内存中的机器指令转为汇编指令 T-执行一条机器指令 A-以汇编格式在内存中写入一条机器指令。
请给这篇日志评个分吧!
2 8086CPU有14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.
3 8086CPU所有的寄存器都是16位的,可以放两个字节,AX.BX.CX.DX用来存放一般数据,称为通用寄存器。
4 AX,BX,CX,DX由两个8位寄存器组成:AL,AH,BL,BH,CL,CH,DL,DH。
5 一个字节由8个bit组成,可以放在8位寄存器中。一个字由2个字节组成,两个字节为高位字节和低位字节。
6 任何数据都是以二进制单位存储的,也就是说计算机中的数据由1-N个8位数据组成的。
7 mov ax,18 mov ah,18 add ax,6 mov ax,bx add ax,bx 两个指令:MOV 送入数据 ADD 相加数据 指令不区分大小写。
8 ax:8226H bx 8226H add ax,bx 044CH 第一位的1省略。 ax:00C5H add al,93h ax:0058H 第一位的在这个寄存器中1省略。
9 8位和16位寄存器之间不能传递数据。
10 8086CPU是16位结构:运算器最多可以处理16位的数据,寄存器的最大宽度为16位,寄存器和运算器之间的通路为16位。
11 地址加法器:物理地址=段地址*16+偏移地址 段地址*16也称为左移4位,指的是2进制下的数值左移4位。2^4=16。
12 CPU访问内存时,以一个基础地址(段地址*16)和一个相对于基础地址的偏移底子相加,给出内存单元的物理地址。
13 段地址不是内存分配的而是CPU标识的,一个段地址的长度最大为64KB,段地址*16必然为16的倍数,所以一个段的起始地址也为16的倍数,偏移地址为16位,寻址能力为64KB。所以将地址连续,起始地址为16倍数的一组内存定义为一个段。
14 CPU可以用不同的段地址和偏移地址形成同一个物理地址,如21F60H的物理地址,只要SA*16+EA=21F60H就可以。
15 CS个IP是8060CPU中最关键的两个寄存器,CS为代码段寄存器,IP为指令指针寄存器,CPU将CS:IP指向内存的内容当指令执行。
16 CPU从何处执行指令是由CS:IP中的内容决定的,MOV 是传送指令,JMP 为修改CS:IP的指令,jmp ax, 执行前 ax=1000H CS=2000H IP=0003H 执行后 ax=1000H CS=2000H IP=1000H
17 8086CPU工作过程:从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器,IP指向下一条指令,执行指令并开始循环这个过程。
18 DEBUG R-查看改变寄存器内容 D-查看内容 E-改写内存中的内容 U-将内存中的机器指令转为汇编指令 T-执行一条机器指令 A-以汇编格式在内存中写入一条机器指令。
作者:月光@“我这”是产品管理/产品经理'S
地址:http://www.wozhe.com/read.php/28.htm
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!
请给这篇日志评个分吧!



汇编语言-基础知识
c++ primer一些小贴士
