8086CPU各种段——汇编语言学习

address date
10000H 23
10001H 11
10002H 22
10003H 66

基础

 物理地址 = 段地址 * 16 + 偏移地址

做法

 编程时可根据需要将一组内存单元定义为一个段。
 可以将起始地址为16的倍数,长度为 N (N <= 64)的一组地址连续的内存单元,定义为一个段。
 将一段内存定义为一个段,用一个段地址指示段,用偏移地址访问段内的单元-一在程序中可以完全由程序员安排。

三种段

 数据段
  将段地址放在DS中。
  用mov、add、sub等访问内存单元的指令时,CPU将我们定义的数据段中的内容当作数据段来访问。
 代码段
  将段地址放在CS中,将段中第一条指令的偏移地址放在IP中。
  CPU将执行我们定义的代码段中的指令。
 代码段
  将段地址放在SS中,将栈顶单元的偏移地址置放在SP中。
  CPU在需要进行栈操作(push、pop)时,就将我们定义的栈段当作栈空间来用。

posted @ 2023-06-24 17:40  Wsiyan  阅读(35)  评论(0编辑  收藏  举报