主板上的器件通过总线相连
扩展插槽上插有RAM内存条和接口卡
接口卡上也有RAM, 对数据暂时存储, 显存作用为: 将显示的内容写入显存,会显示在显示器上
CPU将各类存储器看成一个逻辑存储器, 每个物理存储器在这个逻辑存储器中占有一个地址段
注意:若CPU向ROM存储器代表的内存单元中写入数据的操作时没有用的,该内存单元不会改变
通用寄存器用来存放一般性的数据。一个16位的寄存器可以存储一个16位的数据。 8086CPU可将该寄存器分为两个可独立使用的8位寄存器。
一个字由两个字节组成,可以存在一个16位寄存器中。
mov ax,18(mov 为传送指令)
add ax,8 不区分大小写 注意执行 add ax,87H 与add al,87H的区别 后者计算机看成独立的8位寄存器 ,无进位。
16位机的意思就是:运算器一次最多处理16位, 寄存器最大宽度16位,寄存器和运算器之间的通路位16位。
8086 为16位机, 但它的地址总线有20位, 所以它采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址。其中一个为段地址,另一个味偏移地址。
通过内部总线送入一个地址加法器 的部件,合成一个20位的物理地址。 地址加法器采用物理地址=段地址*16+偏移地址
8086采用分段的方式管理内存。段地址*16 为段的起始地址,偏移地址定位段中的内存单元。 偏移地址为16位, 寻址能力为64KB, 所以一个段的长度最大为64KB。
例如: 地址10000H-100FFH的内存单元组成一个短,起始地址为10000H, 段地址为1000H, 大小为100H --> 偏移地址从0H-FFH 共100H
数据存在21F60H内存单元中 应说数据存在内存2000:1F60单元中
段地址在段寄存器中存放 CS,DS,SS,ED
CS为代码段寄存器 M,IP为指令指针寄存器 N, CPU从内存M*16+N单元开始读取指令并执行。
输入输出控制电路将内存单元存放的机器指令通过数据总线送入CPU, 送入指令缓冲区,读取一条指令后IP值自动增加。增加长度为上一条指令的长度。 8086加电启动或复位后CS=F000H IP=FFFFH
CPU将CS:IP指向的内存单元中的内容看成指令。
mov无法设置CS IP的值 能够改变它们的内容的指令叫做转移指令 如 jmp指令。
例如: jmp 2AE3:3 执行后 CS=2AE3H IP=0003H
jmp 某一寄存器: 如: jmp ax 指用寄存器中的值修改IP
debug: 可以查看寄存器的内容,内存的情况,跟踪程序的运行。
在运行中输入command可以进入dos方式
-r 查看寄存器内容 或改变: -r ax/cs/ip 即可
-d 段地址:偏移地址, 查看从指定内存单元开始的128个内存单元的内容。