第一章 基础知识
1.汇编语言组成:(1)汇编指令:机器码的助记符,有对应的机器码,由机器执行
(2)伪指令:编译器执行
(3)其他符号:如+,-,*等,编译器识别,没有对应的机器码
2.存储器以字节为最小单位
3.cpu管脚上的三种总线:(1)地址总线,决定cpu的寻址能力
(2)数据总线,决定cpu一次传送的能力,通常与cpu位数一样
(3)控制总线,控制读写等
4.内存地址空间:所有的存储器合称为cpu的内存地址空间,无论是各种RAM,ROM,端口
第二章 寄存器
1.8086cpu有14个寄存器,分别:AX,BX,CX,DX, SI,DI,SP,BP,IP, CS,SS,DS,ES, PSW
AX,BX,CX,DX为通用寄存器,常用来存放一般性的数据。
为了兼容上一代cpu,AX,BX,CX,DX可分为两个独立使用的8位寄存器,分别为AH,AL......
谨记:AH,AL是独立使用的,是无联系的
2.常用的几条汇编指令
mov ax,18 mov ah,78 add ax,8
注意在进行数据传送或运算时,两个操作对象的位数应当为一致
3. 数制的概念
16进制表示的数据后面加H,2进制的后面加B
一个X进制的数据左移1位,相当于乘于X
4.16位机的意思:
(1)运算器一次最多处理16位的数据
(2)寄存器最大宽度为16位
(3)寄存器和运算器之间通路为16位,即数据总线16条
5.8086传送物理地址方法是: 段地址*16+偏移地址=物理地址
段地址*16必然是16的倍数,所以一个段的起始地址也一定是16的倍数
偏移地址为16位,16位地址寻址能力为64KB,所以一个段最大长度为64KB
6.段寄存器
4个段寄存器:CS,DS,SS,ES
CS为代码段寄存器,IP为指令指针寄存器
8086机中,任意时刻,cpu将CS:IP指向的内容当做指令执行
8086CPU加电启动或复位后,CS和IP被设置为CS=FFFFH,IP=0000H
FFFF0H单元中的指令时8086PC机开机后执行的第一条指令
7. 修改CS,IP的指令
想同时修改CS,IP
jmp 1000:0 则CS=1000H,IP=0000H
仅修改IP的内容
jmp 某一合法寄存器
8. 8086cpu工作过程:
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP指向下一条指令
(3)执行指令。(转到步骤(1),重复这个过程
9. DEBUG的功能
(1)用 R命令查看,改变cpu寄存器内容
例子:r 功能:查看寄存器
r ax 功能:修改ax寄存器内容
(2)用D命令查看内存中内容
例子:d 1000:0
d 1000:0 f
(3)用E命令改写内存中的内容
例子:采用“e 起始地址 数据 数据 数据..." e 1000:0 0 1 2 3 4 5 6 7 写机器码
采用提问方式一个一个地改写内存的内容 e 1000:0
1.汇编语言组成:(1)汇编指令:机器码的助记符,有对应的机器码,由机器执行
(2)伪指令:编译器执行
(3)其他符号:如+,-,*等,编译器识别,没有对应的机器码
2.存储器以字节为最小单位
3.cpu管脚上的三种总线:(1)地址总线,决定cpu的寻址能力
(2)数据总线,决定cpu一次传送的能力,通常与cpu位数一样
(3)控制总线,控制读写等
4.内存地址空间:所有的存储器合称为cpu的内存地址空间,无论是各种RAM,ROM,端口
第二章 寄存器
1.8086cpu有14个寄存器,分别:AX,BX,CX,DX, SI,DI,SP,BP,IP, CS,SS,DS,ES, PSW
AX,BX,CX,DX为通用寄存器,常用来存放一般性的数据。
为了兼容上一代cpu,AX,BX,CX,DX可分为两个独立使用的8位寄存器,分别为AH,AL......
谨记:AH,AL是独立使用的,是无联系的
2.常用的几条汇编指令
mov ax,18 mov ah,78 add ax,8
注意在进行数据传送或运算时,两个操作对象的位数应当为一致
3. 数制的概念
16进制表示的数据后面加H,2进制的后面加B
一个X进制的数据左移1位,相当于乘于X
4.16位机的意思:
(1)运算器一次最多处理16位的数据
(2)寄存器最大宽度为16位
(3)寄存器和运算器之间通路为16位,即数据总线16条
5.8086传送物理地址方法是: 段地址*16+偏移地址=物理地址
段地址*16必然是16的倍数,所以一个段的起始地址也一定是16的倍数
偏移地址为16位,16位地址寻址能力为64KB,所以一个段最大长度为64KB
6.段寄存器
4个段寄存器:CS,DS,SS,ES
CS为代码段寄存器,IP为指令指针寄存器
8086机中,任意时刻,cpu将CS:IP指向的内容当做指令执行
8086CPU加电启动或复位后,CS和IP被设置为CS=FFFFH,IP=0000H
FFFF0H单元中的指令时8086PC机开机后执行的第一条指令
7. 修改CS,IP的指令
想同时修改CS,IP
jmp 1000:0 则CS=1000H,IP=0000H
仅修改IP的内容
jmp 某一合法寄存器
8. 8086cpu工作过程:
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP指向下一条指令
(3)执行指令。(转到步骤(1),重复这个过程
9. DEBUG的功能
(1)用 R命令查看,改变cpu寄存器内容
例子:r 功能:查看寄存器
r ax 功能:修改ax寄存器内容
(2)用D命令查看内存中内容
例子:d 1000:0
d 1000:0 f
(3)用E命令改写内存中的内容
例子:采用“e 起始地址 数据 数据 数据..." e 1000:0 0 1 2 3 4 5 6 7 写机器码
采用提问方式一个一个地改写内存的内容 e 1000:0