<汇编语言(第2版)>2011032401

典型的CPU是由运算器、寄存器、控制器等组成

不同的CPU,寄存器的个数和结构都不相同。

8086CPU有14个寄存器,都是16位
AX\BX\CX\DX
SI\DI
SP\BP\IP
CS\SS\DS\ES
PSW

通用寄存器
AX、BX、CX、DX

为了兼容8086以前的,寄存器又可分成两个8位寄存器,如AH/AL

汇编指令:
Mov 目的地址,源数据
Add 目的地址,加数

物理地址:
所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址。

16位结构的CPU
有如下结构特征:
运算器一次最多可以处理16位的数据
寄存器的最大宽度为16位
寄存器和运算器之间的通路是16位

8086就是16位,之前的8080-8085是8位。

8086CPU有20为地址总线,有1MB寻址能力,但8086是16位的cpu,只能处理64KB的地址。
所以采用一种在内存用两个16位地址合成的方式来形成20位的物理地址
所以:物理地址=段地址*16+偏移地址(实质:是基础地址+偏移地址=物理地址的具体实现)

段的概念,内存并没有分段,段的划分来源CPU,在8086上,其寻址能力是64KB。

段寄存器
CS、DS、SS、ES

CS和IP是8086CPU中最关键的2个寄存器,指示了CPU当前要读取指令的地址。
CS:代码段寄存器
IP:指令指针寄存器
在8086中,任何时刻,CPU将CS:IP指向的内容为当前指令执行
改变CS,IP内容的指令为转移指令
当前学习:
jmp 段地址:偏移地址        修改CS,IP
jmp 某合法寄存器            修改IP

调试工具Debug工具
是Dos、Windows提供下的实模式(8086 方式)程序的调试工具

R命令查看、改变CPU寄存器内容
D命令查看内存中的内容
E命令改写内存中的内容
U命令将内存中机器指令转为汇编指令
T命令执行一条机器指令
A命令以汇编指令的格式在内存中写入一条机器指令
原文地址:https://www.cnblogs.com/GoGoagg/p/1993591.html